PostgreSQL8.1.4を再インストール
- postgresql-8.1-ja.msi
- PostgreSQL インストールウィザードへようこそ
- 次へ
- インストールの注意事項
- 次へ
- インストールオプション
- 次へ
- サービス構成
- サービスのインストールにチェック
- サービス名:PostgreSQL Database Server 8.1
- アカウント名:postgres
- ドメイン名:XXXXXX
- パスワード:XXXXXX
- パスワードの確認:XXXXXX
- 次へ
- ユーザー \postgres を見つけることは出来ませんでした。自動的に作り出しますか?
- はい
- あなたが明示したパスワードは、弱いように見えます。インストーラーに、それをランダムなパスワードと取り替えますか?
- いいえ
- データベースクラスタの初期化
- 手続き言語を可能にする
- PL/pgsqlにチェック
- 貢献モジュールを可能にする
- Admin81 - 改良された機能を提供するためにpgAdminによって使われますにチェック
- インストールは完了しました
- 終わる
- サービスの停止
- コンピュータの管理
- PostgreSQL Database Server 8.1
- スタートアップの種類:自動→手動
- OK
- サービスの手動起動
- スタート メニュー\プログラム\PostgreSQL 8.1\サービスの起動
- pgAdminⅢ起動
- スタート メニュー\プログラム\PostgreSQL 8.1\pgAdmin III
- 左側ペインの PostgreSQL Database Server 8.1 (localhost:5432) を右クリックし、接続
- パスワードを入力
- データベースの新規作成
- テーブルとデータの作成
- shopを選択
- [ツール]-[クエリーツール]
- 上記DDLとINSERT分をコピーペースト
- [クエリー]-[実行](F5)
- [編集]-[ウィンドウクリア]
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "pk_shohin" for table "商品マスタ"
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "pk_tanto" for table "担当者マスタ"
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "pk_kokyaku" for table "顧客マスタ"
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "pk_data" for table "受注データ"
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "pk_meisai" for table "受注明細"クエリーは、1502 で結果なしでうまく帰りました。
ログイン
cd C:\PostgreSQL\8.1\bin
C:\PostgreSQL\8.1\bin>psql -U postgres shop
Password for user postgres:
Welcome to psql 8.1.4, the PostgreSQL interactive terminal.Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit
並べ替える
顧客マスタから顧客の名前とフリガナを50音順に並び替える
shop=# SELECT
shop-# 名前
shop-# , フリガナ
shop-# FROM
shop-# 顧客マスタ
shop-# ORDER BY フリガナ ASC
shop-# ;
名前 | フリガナ
- -
川口 | カワグチ
高原 | タカハラ
玉田 | タマダ
中澤 | ナカザワ
中田 | ナカタ
中村 | ナカムラ
宮本 | ミヤモト
柳沢 | ヤナギサワ
(8 rows)
今度はちゃんと昇順にソートしている。OK!
shop=# SELECT
shop-# 名前
shop-# , フリガナ
shop-# FROM
shop-# 顧客マスタ
shop-# ORDER BY フリガナ DESC
shop-# ;
名前 | フリガナ
- -
柳沢 | ヤナギサワ
宮本 | ミヤモト
中村 | ナカムラ
中田 | ナカタ
中澤 | ナカザワ
玉田 | タマダ
高原 | タカハラ
川口 | カワグチ
(8 rows)
降順もOK
しかし、
shop=# SELECT
shop-# グループ名
shop-# , COUNT(*)
shop-# , SUM(在庫数)
shop-# FROM
shop-# 商品マスタ
shop-# GROUP BY
shop-# グループ名
shop-# ;
グループ名 | count | sum
- -
サポーターズウェア | 2 | 30
ボール | 3 | 21
レプリカグッズ | 2 | 7
サポーターズグッズ | 5 | 72
(4 rows)
GROUP BY は駄目だ・・・
追記:
- 訂正します!
- 正しくグループ化していますので正常です。
- 並び順はORDER BYを指定しないといけません
Windows版のPostgreSQL8.1.4で、日本語の列をGROUP BYすると正しく動作しない。これはバグなのかなぁ・・
すみません、上記記述を訂正します。
GROUP BY によって正常にグループ化されます。並び順はORDER BYで指定すればいいのでした。