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中文网其他相关文章!