SQL の GROUP BY x, y ステートメントについての深い理解
SQL の GROUP BY x
ステートメントは、指定された列 x の共通の値に基づいてレコードをグループ化するために使用されます。この概念を拡張すると、GROUP BY x, y
はより詳細なグループ化を表し、レコードは x 列の値だけでなく y 列の値にも基づいてグループ化されます。
仕組み
このグループ化により、データが異なるセットに効果的に分離されます。各セットには、x と y の両方に同じ値を持つレコードが含まれています。例:
GROUP BY Subject
Subject
列の一意の値に基づいてデータを分類します。 GROUP BY Subject, Semester
は、Subject
列と Semester
列の値の一意の組み合わせに基づいてこれらのグループをさらに分割します。 例
次の Subject_Selection
テーブルについて考えてみましょう:
<code>+---------+----------+----------+ | Subject | Semester | Attendee | +---------+----------+----------+ | ITB001 | 1 | John | | ITB001 | 1 | Bob | | ITB001 | 1 | Mickey | | ITB001 | 2 | Jenny | | ITB001 | 2 | James | | MKB114 | 1 | John | | MKB114 | 1 | Erica | +---------+----------+----------+</code>
グループ化された被験者に GROUP BY Subject
を適用し、出席状況を計算します:
<code class="language-sql">select Subject, Count(*) from Subject_Selection group by Subject</code>
出力:
<code>+---------+-------+ | Subject | Count | +---------+-------+ | ITB001 | 5 | | MKB114 | 2 | +---------+-------+</code>
は GROUP BY Subject, Semester
に展開されます:
<code class="language-sql">select Subject, Semester, Count(*) from Subject_Selection group by Subject, Semester</code>
出力:
<code>+---------+----------+-------+ | Subject | Semester | Count | +---------+----------+-------+ | ITB001 | 1 | 3 | | ITB001 | 2 | 2 | | MKB114 | 1 | 2 | +---------+----------+-------+</code>
この結果は、前期に 3 人の学生が ITB001 を受験し、後期に 2 人の学生が ITB001 を受験し、前期に 2 人の学生が MKB114 を受験したことを示しています。
複数の列をグループ化することで、より具体的な洞察を抽出し、データをより詳細に分析できます。
以上がGROUP BY x, y は SQL でデータをどのように細かくグループ化しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。