上の前回の記事に引き続き、データベースを操作できるSQLというプログラミング言語の書き方について解説していこうと思います!!
今回は「GROUP BY」「HAVING」に絞って解説していきましょう!!
SQL初心者にもわかように書いているので是非参考にしてみてください!!
SQL初心者でもわかるように書き方の解説②「GROUP BY」「 HAVING」
SELECT FROMの続き「GROUP BY」
name | age | sex | country |
Mike | 15 | 0 | America |
Judy | 24 | 1 | Japan |
John | 20 | 1 | America |
Taro | 35 | 1 | Japan |
Bob | 29 | 0 | Australia |
上のようなデータがあるとしましょう
それぞれの住んでいる国(country)は何人いるかを数えたいとします
そんな時、「ある条件でまとめる処理」には「GROUP BY」を使いましょう!!
SELECT country, count(country) as num FROM people GROUP BY country
上のコードの説明をするとGROUP BYでcountryをまとめます。
まとめた後にはselectの後の指定の仕方に注意が必要となってきて、まとめた処理に対してしたいことを書いてあげます。
ここではまとめた後に「count」という要素の数を数える処理を書いています。
そうすることでそれぞれの国に住んでいる人数をカウントして表示してくれます!!
country | num |
America | 2 |
Japan | 2 |
Australia | 1 |
上のようなデータが取得できると思います。
SQL初学者におすすめのUdemy講座です!!
はじめてのSQL ・データ分析入門 -データベースのデータをビジネスパーソンが現場で活用するためのSQL初心者向コース
「GROUP BY」のあとは「HAVING」で絞り込む
GROUP BYでまとめたはいいけど、それで??ってなると思います。
まとめた後は、何か条件でソートしますよね!?
やり方はをみていきましょう!!
先ほどの上記で書いたコードにHAVINGを付け加えてみます
SELECT country, count(country) as num FROM people GROUP BY country HAVING num = 1
まとめてSELECTした結果に対してHAVINGで条件「一人だけ住んでいる国」を付け加えました!
この例でもわかるようにGROUP BYした後にSELECTしたデータに対してHAVINGは条件をかけることができます。
GROUP BYする前に条件を指定したい場合はWHEREを使用しましょう!!
まとめ
今回の記事ではSELECTする際に、グループ分けができる「GROUP BY」と、まとめた後の条件を指定する「HAVING」について紹介しました。
SQLの基本的な書き方についてわかってきたでしょうか??
また、次回の記事を楽しみにしていてください!!