1. ホーム
  2. コース一覧
  3. データベース応用コース
  4. データをグルーピングしてみよう

データベース応用コース2/9

データをグルーピングしてみよう

このシナリオではデータの集約(グルーピング)について学んでいきます。

集約を使うことで、データをカテゴリにごとに分類して表示させることができるようになります。

集約とは

集約とは指定した条件に沿ってデータをグループ分けすることです。

データベースにはさまざまなデータが入っていますが、そのデータ同士を指定した条件で分割し、それらを集計(例: 合計数を出す)したいというケースも存在します。

例えば書籍のデータが大量に保管されているBooksテーブルがあったとしましょう。そのBooksテーブルに保管されている書籍には技術書や小説などのカテゴリが付けられています。

namecategory
Life with Envader自己啓発書
開発者の気持ち雑誌
点と点を結ぶWeb開発概論技術書
美肌のブランディングビジネス書
この1冊で完璧!Network基礎概念技術書

上のようなテーブルにあるデータをカテゴリごとに分け、それぞれの合計数を取得したいとしましょう。その際に集約を行います。

GROUP BYの使い方

MySQLでデータを集約するにはGROUP BY句を使います。

SELECT COUNT(*) FROM books GROUP BY category;

GROUP BY句の後ろにグループ分けする基準のカラム名を記述します。今回の場合は書籍のカテゴリごとにグループ分けしたいので、categoryを指定します。上のSQL文を実行すると、categoryの値ごとにグループ分けされ、それぞれのデータ数の合計が表示されます。

このように、とあるデータを特定のカラムの値を条件に分類分けするにはGROUP BY句を使ってデータを集約することができます。

問題を解くためには、十分な画面サイズのPC環境をご利用下さい。