SQLのグループ化がわからなかったので学びなおしました。
例えば大会社の社員情報データを保管しているデータベースがあるとして読んでいただけたらと思います。
使用RDBMS
PostgreSQL
グループって何ぞや
例えば大規模の社員マスタ情報を集めたDBから部署ごとの人数を知るためにはどう抽出するのか。
一つ一つの部署ごとに検索する方法
SELECT COUNT(*) FROM menbers WHERE busho = '営業部';
SELECT COUNT(*) FROM menbers WHERE busho = '人事部';
SELECT COUNT(*) FROM menbers WHERE busho = '労務部';
もし他にも部署があるとキリがありませんし面倒です。
エンジニアはめんどくさがりなのでそこで登場するのがグループ化です。
SELECT count(*),busyo FROM member GROUP BY busyo;
GROUP BY
GROUP BY は「〜ごと」という処理を行います。
上記の例では、全ての注文の「部署ごと」の人数を出しています。
以上です。