インスピレーションと洞察から生成されました 4 ソースから
はじめに
-
GROUP BY句の目的: GROUP BY句は、指定したフィールドリストの中で同じ値を持つレコードを1つのレコードに結合するために使用されます。
-
SQL集計関数との併用: GROUP BY句は、SUMやCOUNTなどのSQL集計関数と併用することで、グループごとの合計値やレコード数を求めることができます。
-
構文: SELECT フィールドリスト FROM テーブル WHERE criteria [GROUP BY groupfieldlist]
-
WHERE句とHAVING句の違い: WHERE句はGROUP BY句の実行前に条件が適用され、HAVING句はGROUP BY句の実行後に条件が適用されます。
-
NULL値の扱い: GROUP BY句で指定したフィールドにNULL値がある場合、それらのNULL値も省略されずにグループ化されますが、集計関数では評価されません。
基本構文 [1]
-
SELECT文: SELECT フィールドリスト FROM テーブル WHERE criteria [GROUP BY groupfieldlist]
-
フィールドリスト: 取得する1つ以上のフィールドの名前を指定します。
-
テーブル: データを取得するテーブルの名前を指定します。
-
抽出条件: WHERE句を使用して、グループ化したくない行を除外します。
-
グループフィールドリスト: レコードのグループ化に使用されるフィールドの名前を指定します。
集計関数 [2]
-
SUM関数: グループごとの合計値を求めるために使用されます。
-
COUNT関数: グループごとのレコード数を取得するために使用されます。
-
AVG関数: グループごとの平均値を求めるために使用されます。
-
MAX関数: グループごとの最大値を取得するために使用されます。
-
MIN関数: グループごとの最小値を取得するために使用されます。
WHERE句とHAVING句 [2]
-
WHERE句: GROUP BY句の実行前に条件が適用されます。
-
HAVING句: GROUP BY句の実行後に条件が適用されます。
-
使用例: WHERE句を使って特定の条件を満たさないレコードを除外します。
-
使用例: HAVING句を使って特定の条件を満たさないグループを除外します。
-
注意点: WHERE句とHAVING句の使い分けが重要です。
NULL値の扱い [3]
-
NULL値のグループ化: GROUP BY句で指定したフィールドにNULL値がある場合、それらのNULL値も省略されずにグループ化されます。
-
集計関数での評価: NULL値は集計関数では評価されません。
-
注意点: NULL値を含むフィールドをグループ化する際の注意が必要です。
-
例: NULL値を含むデータセットでのGROUP BY句の使用例。
-
SQLの仕様: SQLの仕様により、NULL値は特別な扱いを受けます。
実用例 [1]
-
役職ごとの社員数: 役職名および各役職に該当する社員の数を示す一覧を作成します。
-
地域ごとの社員数: 各役職について、その役職に該当する社員のうち特定の地域で勤務している社員の数を計算します。
-
性別ごとの人数: 性別でグループ化を行い、性別とその数を抽出します。
-
点数条件付きの人数: テストの点数が60点未満の生徒を除いた男女別の人数を表示します。
-
人数条件付きのグループ: 人数が3人以下のグループのみを表示します。
関連動画
<br><br>
<div class="-md-ext-youtube-widget"> { "title": "\u5c0f\u5b66\u751f\u3067\u3082\u308f\u304b\u308bSQL\u306eGROUP BY\u3068\u96c6\u8a08\u95a2\u6570\u3010SQL\u8b1b\u5ea7\u2461\u3011", "link": "https://www.youtube.com/watch?v=A3eo4lcdqhQ", "channel": { "name": ""}, "published_date": "Feb 22, 2021", "length": "8:22" }</div>
<div class="-md-ext-youtube-widget"> { "title": "How to use SQL GROUP BY in MS Access - Office 365", "link": "https://www.youtube.com/watch?v=fKSCIbDyknQ", "channel": { "name": ""}, "published_date": "Jun 12, 2022", "length": "8:57" }</div>