[pgsql-jp: 35757] Re: CREATE VIEWによる集計について
水沼寛喜
mizunuma @ m-design.com
2005年 7月 27日 (水) 13:17:49 JST
よしボブ@三鷹市民様
水沼です。
ご教授頂きまして、ありがとうございます。
さっそく、テスト環境にて実行してみたいと思います。
結果が分かり次第、ご報告させて頂きます。
> -----Original Message-----
> From: pgsql-jp-bounces @ ml.postgresql.jp
> [mailto:pgsql-jp-bounces @ ml.postgresql.jp] On Behalf Of 日本ユニシステム
堀 世志之
> Sent: Wednesday, July 27, 2005 11:31 AM
> To: PostgreSQL Japanese Mailing List
> Subject: [pgsql-jp: 35756] Re:CREATE VIEWによる集計について
>
>
> よしボブ@三鷹市民様
>
> > 今回頂いたSQL(修正版)と結果が
> > select cid, largeq, sum(case enq1 when 1 then 1 else 0 end
> ) as enq_1,
> > sum(case enq1 when 2 then 1 else 0 end ) from kenqt group by cid,
> > largeq, enq1; cid | largeq | enq_1 | sum
> > ---+-----+-----+-----
> > 57 | 1 | 3 | 0
> > 57 | 1 | 0 | 4
> > 57 | 1 | 0 | 0
> > 57 | 1 | 0 | 0
> > 57 | 2 | 13 | 0
> > 57 | 3 | 13 | 0
> >
> > でした。
> すみません、SQL文がおかしいですね^^
>
> > cid | largeq | sum(値1) | sum(値2) | sum(値3) | sum(値4) |
> > ---+-----+---------+--------+--------+--------+
> > 57 | 1 | 3 | 4 | 2
> | 4 |
> > 57 | 2 | 13 | 0 | 0 |
> 0 |
> > 57 | 3 | 13 | 0 | 0 |
> 0 |
> >
> > にしたいのですが、無理なのでしょうか。
>
> でしたら
> select
> cid
> ,largeq
> ,sum(case enq1 when 1 then 1 else 0 end ) as enq1合計(値=1)
> ,sum(case enq1 when 2 then 1 else 0 end ) as enq1合計(値=2)
> ,sum(case enq1 when 3 then 1 else 0 end ) as enq1合計(値=3)
> ,sum(case enq1 when 4 then 1 else 0 end ) as enq1合計(値=4)
> from kenqt
> group by cid, largeq;
>
> でOKだと思います。(テーブルとかを実際作成してSQL文を書いてないので…)
>
> 私も、初心者なので、このsql文は強引な方法です。
> もっとスマートな方法を勉強してみてください。
> もっとスマートな方法がわかったら教えてください^^;(ぉ
>
pgsql-jp メーリングリストの案内