member_id | point
-----------+-------
4 | 2
4 | 2
4 | 3
4 | 3
4 | 3
4 | 1
4 | 3
4 | 2
8 | 2
8 | 0
4 | 1
8 | 3
4 | 6
8 | 0
これをGROUP BY を使って合計を出すと、SELECT member_id,SUM(point) AS sum FROM points GROUP BY member_id;
member_id | sum
-----------+-----
4 | 43
8 | 7
こんな結果になるわけですが、この結果表をさらに、合計が10個以上、とかそういう条件で絞り込みたい訳です。もしかしてこんなのあり?
SELECT member_id, SUM(point) AS sum FROM points WHERE sum > 10 GROUP BY member_id;とかやってみましたが、これは、
ERROR: column "sum" does not existになります。だめです。
ということで、HAVING句を使って、
SELECT member_id, SUM(point) AS sum FROM points GROUP BY member_id HAVING SUM(point) > 10;というように書きます。
結果。
member_id | sum
-----------+-----
4 | 43