BLOG ブログ
エークラウドメンバーによるローテーションブログ
2024.11.18
WHERE or HAVING
最近、SQLの勉強をしております。
そして先日、WHEREとHAVINGの違いについて少し理解できたので、備忘録として残したいと思います。
顧客情報が格納されたデータベースにおいて、発注元の情報が記載されたテーブルに10回数以上出現する会社名のリストを抽出しようとしました。
構文は下記の通りです。
上記構文はWorkbench上で実行前にエラーの通知がなかったのですが、実行すると「invalid use of group function」と出てしまいました。
勉強を進めた所、このWHEREを使った構文自体は正しい記述で事前のエラーが出ないものの、WHEREは構文の中で集計関数を使えないらしく、実行すると誤った関数の使い方としてエラーが出てしまうというものでした。
そして、今回のようなケースの代替はHAVINGということでした。
HAVINGの場合、集約されたグループのサブセットに適用可能ということで、実際に試した構文が以下です。
HAVINGを使ったこちらの構文では、問題なく実行できました!
エンタメ記事
お客様の思い描くビジョンを明確な形に変えていく為に
全力でサポートさせて頂きます。
お問い合わせ・ご相談はこちらまでお気軽にご連絡ください。
- お電話でのお問い合わせ :03-5784-3113
- 受付時間 10:30-18:30(土日祝除く)