[SQL基础教程] 3-2 对表进行分组

时间:2022-07-11 16:23:10

[SQL基础教程] 3-2 对表进行分组

GROUP BY

SELECT <列名1>,<列名2>,...
FROM <表名>
GROUP BY <列名1>,<列名2>,...;

聚合键

聚合键

GROUP BY 中指定的列称为聚合键或者分组列

NULL元素的行会划分为一组,以空行表示。

理解

GROUP BY 将指定列的含元素作为KEY进行分组,同值的行数据划分为一组

语句顺序与执行顺序

  • 子语句顺序

    SELECT -> FROM -> WHERE -> GROUP BY
  • 执行顺序

    FROM -> WHERE -> GROUP BY -> SELECT

规则

注意

使用GROUP BY子句中SELECT子句的约束,SELECT中只能包含:

  • 常数
  • 聚合函数
  • 聚合键

法则 3-9

使用GROUP BY子句时, SELECT子句不能不能包含聚合键以外的列。

法则 3-10

GROUP BY子句不能使用SELECT子句中定义的列的别名。

法则 3-11

GROUP BY子句结果的显示是无序的。

法则 3-12

只有在SELECT子句和HAVING子句中使用聚合函数。