[pgsql-jp: 33381] 複数の値をGROUP BYでの集計

m-saitoh @ yamatosokki.co.jp m-saitoh @ yamatosokki.co.jp
2004年 6月 25日 (金) 15:34:43 JST


斉藤と申します。

以下のようなテーブルから
  category が 2 又は 3 のデータの num の合計
  category が 1 又は 4 のデータの num の合計
を1回のSQL文で取り出すことは可能なのでしょうか。

## 元テーブル - work ##
 category(int) | num(int)
----------------------
 1             |   5
 1             |   2
 2             |   7
 2             |   9
 2             |   2
 3             |   1
 3             |   6
 4             |   2
 4             |   9

## 取り出したいデータ ##

 data      | total
----------------------
 1,4 total |    18
 2,3 total |    25
(取り出したいデータの data の内容は何が入っていてもかまいません)

SELECT (ここに何を書けばいいか解らない) AS data, SUM( num ) AS num
FROM work
GROUP BY data;

2回実行すればいいだけなんですが、簡単にできる方法があれば1回で
やりたいなぁと思う次第です。
いろいろ調べてはみたんですが手がかりすら得られぬまま・・・
ヒントだけでもいいのでよろしくお願いいたします。

-=-=-=-=-=-=-=-=-=-=-=-=-=-
m-saitoh @ yamatosokki.co.jp




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