01 / 03
この章で手に入れた道具
ならべて見返してみよう。
- 重複を消す …
DISTINCT - 列どうしを計算する …
+-*/ - まとめて1つの値にする …
SUM/AVG/COUNT/MAX/MIN - グループに分ける …
GROUP BY - グループを絞る …
HAVING
1つずつは短い。組み合わせて使えるかが本番だよ。
集める・数える
INPUT · スライド
01 / 03
ならべて見返してみよう。
DISTINCT+ - * /SUM / AVG / COUNT / MAX / MINGROUP BYHAVING1つずつは短い。組み合わせて使えるかが本番だよ。
02 / 03
クエリはいつも同じ順に並ぶ。迷ったらこの形に当てはめよう。
SELECT 列 FROM 表 WHERE 行の条件 GROUP BY 基準 HAVING グループの条件 ORDER BY 並び LIMIT 件数
いらない部分は書かなくていいけれど、順番を入れかえることはできないよ。
SELECT stall, SUM(price * sold) FROM sales WHERE price >= 600 GROUP BY stall HAVING SUM(price * sold) >= 9000 ORDER BY SUM(price * sold) DESC;実行結果
つむぎ雑貨 | 21000 ゆらり工房 | 9600
03 / 03
長い問題文でも、聞かれているのはこれだけ。
WHERE)GROUP BY)HAVING)この順にメモしてから書けば、長い問題もこわくない。手づくり市の sales で力だめしをしよう。