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 Subject
依Subject
分組:
<code>+---------+--------+ | Subject | Count | +---------+--------+ | ITB001 | 5 | | MKB114 | 2 | +---------+--------+</code>
這顯示了每個科目的總入學人數。
依科目和學期分組
查詢SELECT Subject, Semester, COUNT(*) FROM Subject_Selection GROUP BY Subject, Semester
依Subject
和Semester
分組:
<code>+---------+----------+--------+ | Subject | Semester | Count | +---------+----------+--------+ | ITB001 | 1 | 3 | | ITB001 | 2 | 2 | | MKB114 | 1 | 2 | +---------+----------+--------+</code>
這提供了每個科目每學期的註冊人數,提供更精細的視圖。 關鍵區別在於透過在 Semester
子句中包含 GROUP BY
提供了更多的詳細資訊。
以上是SQL 的「GROUP BY」函數如何處理多列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!