SQL○×難易度 標準

GROUP BY と HAVING を両方書くとき、HAVING は GROUP BY の後ろに置く。

正答

○ 正しい

解説

正しい。HAVING はグループ化した後の結果を絞る句なので、GROUP BY の後ろに書く。順番は FROM → WHERE → GROUP BY → HAVING → ORDER BY → LIMIT で、HAVING COUNT(*) >= 2 GROUP BY dept のように前に置くと SQLite は構文エラーを返す。WHERE と混同しやすいが、WHERE はグループ化の前の行に、HAVING はグループ化の後の集計結果に条件を付ける、と位置と役割をセットで覚える。

参考: www.sqlite.org

havinggroup-byclause-order

この問題を含む SQL のテストを制限時間つきで解く

SQLクイズへ