大規模なデータセットを扱う場合、傾向やパターンを特定するために複数の列で行をグループ化することが必要になることがよくあります。これは、MySQL で GROUP BY 句を使用して実現できます。これにより、クエリの結果を 1 つ以上の列でグループ化できます。
複数の列でグループ化するには、GROUP BY キーワードの後に列を指定するだけです。カンマで区切ります。例:
SELECT tier_id, form_template_id, COUNT(*) AS total FROM form_data GROUP BY tier_id, form_template_id;
このクエリは、form_data テーブル内の行を tier_id 列と form_template_id 列ごとにグループ化します。 COUNT(*) 関数は、各グループ内の行数をカウントします。これは、データの要約に役立ちます。
構文:
GROUP BY 複数の一般的な構文列は:
SELECT column1, column2, ..., columnn FROM table_name GROUP BY column1, column2, ..., columnn
例:
次の従業員テーブルについて考えます:
employee_id | department_id | salary |
---|---|---|
1 | 1 | 50000 |
2 | 1 | 60000 |
3 | 2 | 70000 |
4 | 2 | 80000 |
5 | 3 | 90000 |
部門 ID 列と給与列によって行をグループ化するには各グループの従業員の数を数えるには、次のコマンドを使用できます。クエリ:
SELECT department_id, salary, COUNT(*) AS employee_count FROM employees GROUP BY department_id, salary;
このクエリは次の結果を返します:
department_id | salary | employee_count |
---|---|---|
1 | 50000 | 2 |
1 | 60000 | 1 |
2 | 70000 | 1 |
2 | 80000 | 1 |
3 | 90000 | 1 |
以上がMySQL でデータを複数の列でグループ化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。