GROUP BYとHAVING
なんとなくの理解だったGROUP BYとHAVINGについて調べました〜
GROUP BYとは
データをグループ化する関数です。
使い方
GROUP BY カラム名 とする事で、カラムの値が同じものをグループ化してくれます。
以下のようなreviewsテーブルがあるとします。
以下のSQLだと、カラム名と値が同じデータをまとめて、その数を返してくれます。
SELECT * FROM reviews GROUP BY rate; だと変な形。。。
HAVINGで抽出結果を絞る
条件を絞る関数です。
GROUP BYと一緒に使う事で、グループ化したデータをHAVINGで絞り込むことができます。
条件を絞るという点ではWHEREと同じですが、実行される順番が違います。
WHEREはGROUP BYより先に実行され、
HAVINGはGROUP BYより後に実行されます。
感想その他
SQLの関数の実行順序や、それによって気をつけないといけない事柄についても整理したいです。