[pgsql-jp: 34877] Re: 集計SQLについて

nomoto shin-1 @ ca2.so-net.ne.jp
2005年 2月 12日 (土) 17:17:26 JST


サブクエリーで以下のような2表をつくって支店でjoinすれば?

支店名   男
--------------------
A支店     1
B支店     1
--------------------

支店名   女
--------------------
A支店     2
B支店     1
C支店     3
--------------------

select a.支店名, a.男, b.女 from 
(select 支店名, count(*) as 男 from
 元テーブル group by 性別 where 性別='男') as a
 join 
(select 支店名, count(*) as 女 from
 元テーブル group by 性別 where 性別='女') as b
 using (支店名)

C支店の男が0ではなくNULLになっちゃうけど
NULLだったら0にする関数でPostgreにはあったように思う。


>支店名   男    女
>--------------------
>A支店     1     2
>B支店     1     1
>C支店     0     3
>--------------------
>
>単純に group by を使用しただけでは、このような形で得られないようです。
>
>何か良い案はありますでしょうか?



pgsql-jp メーリングリストの案内