[pgsql-jp: 30108] 複数条件でのgroup by について
日本テレネット(株) 橋詰 洋
hashizume @ linx.co.jp
2003年 6月 2日 (月) 17:23:35 JST
初めて質問させて頂きます。橋詰と申します。
環境
Redhat 7.0
PostgreSQL 7.0.3
Apache 1.3.19
PHP 4.0.3pl1
さて、上記環境で次のような"hogehoge_tbl"を作成しました。
------------------------------------
hogehoge_tbl
a_name | b_code |
--------------+------------+
あ | a |
あ | a |
あ | b |
い | a |
い | a |
い | b |
------------------------------------
要件としては、上記テーブルから
a_name,b_codeの組み合わせが他のレコードと重複せずに
b_codeの個数を知りたく、
a = 2
b = 2
という結果を取得したいのですが、
SELECT b_code ,count(b_code) from hogehoge_tbl group by b_code;
としてから、いかに他のレコードと重複せず取得するかを
悩んでおります。
SELECT a_name ,count(b_code) from hogehoge_tbl group by b_code ,a_name;
とした場合、
a = 2
a = 1
a = 2
b = 1
b = 1
という形になります。
そこでgroup by したものをさらにgroup by してカウントを取ればよいのではないかと思い、
SELECT b_code ,count(b_code) from hogehoge_tbl where (SELECT a_name from hogehoge_tbl group by a_name) group by b_code;
としてみたところ、下記エラーにてうまくいきませんでした。
ERROR: WHERE clause must return type bool, not type varchar
大変初歩的な質問かもしれませんが、良い解決策の解る方、なにとぞご教授お願い致すます。
pgsql-jp メーリングリストの案内