ホームページ >データベース >mysql チュートリアル >SQL の GROUP BY 句は複数の列でどのように機能しますか?
複数の列を含む SQL の GROUP BY
: 詳細な説明
SQL GROUP BY
句は、共通の値を共有する行を効率的にグループ化し、これらのグループに対する集計関数の計算を可能にします。単一列のグループ化は簡単ですが、複数列のグループ化ではさらに複雑さと機能が追加されます。
GROUP BY x, y
構文 GROUP BY x, y
は、列 x
と y
の両方が同じ値を持つ行をグループ化します。 クエリ内の集計関数は、x
値と y
値の個別の組み合わせごとに計算されます。
具体例
Subject_Selection
テーブルを調べて、科目および学期全体で学生の出席状況を追跡してみましょう:
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 class="language-sql">SELECT Subject, COUNT(*) FROM Subject_Selection GROUP BY Subject;</code>
プロデュース:
Subject | Count |
---|---|
ITB001 | 5 |
MKB114 | 2 |
これは、科目ごとの総出席者数をまとめたものです。
科目および学期ごとにグループ化
次に、次のクエリについて考えてみましょう。
<code class="language-sql">SELECT Subject, Semester, COUNT(*) FROM Subject_Selection GROUP BY Subject, Semester;</code>
これにより次の結果が得られます:
Subject | Semester | Count |
---|---|---|
ITB001 | 1 | 3 |
ITB001 | 2 | 2 |
MKB114 | 1 | 2 |
これにより、より詳細なビューが提供され、各科目 と の学期の組み合わせごとの出席者数が表示されます。 結果が件名と学期の一意の組み合わせによってどのようにグループ化されているかに注目してください。 これは、GROUP BY
句で複数の列を使用して、より洗練されたデータ集計を実現できることを示しています。
以上がSQL の GROUP BY 句は複数の列でどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。