首頁 > 資料庫 > mysql教程 > SQL 的「GROUP BY」函數如何處理多列?

SQL 的「GROUP BY」函數如何處理多列?

Patricia Arquette
發布: 2025-01-22 05:27:11
原創
366 人瀏覽過

How Does SQL's `GROUP BY` Function Work with Multiple Columns?

SQL 的 GROUP BY 子句:處理多列

SQL GROUP BY 子句依照指定的資料列聚合表中的行。 讓我們探討一下它如何在單列和多列中發揮作用。

單列分組 (GROUP BY x)

GROUP BY x 將列「x」中共享相同值的行分組。 所有具有相同“x”值的行都被視為一個群組。

多列分組 (GROUP BY x, y)

對此進行擴展,GROUP BY x, y 根據 列「x」和「y」中的匹配值對行進行分組。 行必須具有相同的值,“x”和“y”才能位於同一組中。

範例:科目註冊

考慮追蹤學生科目註冊的Subject_Selection表:

<code>Table: 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>
登入後複製

只依主題分組

查詢SELECT Subject, COUNT(*) FROM Subject_Selection GROUP BY SubjectSubject分組:

<code>+---------+--------+
| Subject | Count  |
+---------+--------+
| ITB001  | 5      |
| MKB114  | 2      |
+---------+--------+</code>
登入後複製

這顯示了每個科目的總入學人數。

依科目和學期分組

查詢SELECT Subject, Semester, COUNT(*) FROM Subject_Selection GROUP BY Subject, SemesterSubjectSemester分組:

<code>+---------+----------+--------+
| Subject | Semester | Count  |
+---------+----------+--------+
| ITB001  | 1        | 3      |
| ITB001  | 2        | 2      |
| MKB114  | 1        | 2      |
+---------+----------+--------+</code>
登入後複製

這提供了每個科目每學期的註冊人數,提供更精細的視圖。 關鍵區別在於透過在 Semester 子句中包含 GROUP BY 提供了更多的詳細資訊。

以上是SQL 的「GROUP BY」函數如何處理多列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板