SELECT * FROM person;+----+-------+------+--------+---------+
| id | name | age | gender | dept_no |
+----+-------+------+--------+---------+
| 1 | kai | 27 | 1 | 1 |
| 2 | gerda | 25 | 2 | 2 |
| 3 | ragi | 33 | 1 | 1 |
+----+-------+------+--------+---------+
SELECT * FROM gender;+----+-------+
| id | label |
+----+-------+
| 0 | 不明 |
| 1 | 男性 |
| 2 | 女性 |
+----+-------+
それでは GROUP BY 句を利用して person テーブルの性別ごとにグループ化を行います。グループ化を行い、更に COUNT 関数を利用してグループごとのレコード数を集計します。
SELECT g.label AS '性別', COUNT(p.name) AS '人数' FROM person AS p, gender AS g WHERE g.id = p.gender GROUP BY p.gender;+------+------+
| 性別 | 人数 |
+------+------+
| 男性 | 2 |
| 女性 | 1 |
+------+------+
※ GROUP BY 句を利用する際には、「グループ化を行う列」と「集計関数(ここでは COUNT 関数)の対象列」のみ選択(SELECT)の対象とすることができます。
0 件のコメント:
コメントを投稿