SQL基础教程(第2版)第3章 聚合与排序:3-2 对表进行分组

第3章 聚合与排序:3-2 对表进行分组

使用GROUP BY子句可以像切蛋糕那样将表分割。通过使用聚合函数和GROUP BY子句,可以根据“商品种类”或者“登记日期”等将表分割后再进行汇总。
聚合键中包含NULL时,在结果中会以“不确定”行(空行)的形式表现出来。

使用聚合函数和GROUP BY子句时需要注意以下4点。
① 只能写在SELECT子句之中
GROUP BY子句中不能使用SELECT子句中列的别名
GROUP BY子句的聚合结果是无序的
WHERE子句中不能使用聚合函数


 

■ GROUP BY子句

这样, GROUP BY 子句就像切蛋糕那样将表进行了分组。在 GROUP BY 子句
中指定的列称为聚合键或者分组列。由于能够决定表的切分方式,所以是非常重要的列。
当然, GROUP BY 子句也和 SELECT 子句一样,可以通过逗号分隔指定多列。 

SQL 的子句的书写顺序(暂定)

1. SELECT → 2. FROM → 3. WHERE → 4. GROUP BY


 ■ 聚合键中包含NULL的情况

聚合建就是GROUP BY后面的分组列

 

■ 使用WHERE子句时GROUP BY的执行结果

因为上述 SELECT 语句首先使用了 WHERE 子句对记录进行过滤,所以实际上作为聚合对象的记录只有 行,如表 3-1 所示。


与聚合函数和GROUP BY子句有关的常见错误

常见错误①——在SELECT子句中书写了多余的列 

常见错误②——在GROUP BY子句中写了列的别名

常见错误③ ——GROUP BY子句的结果能排序吗

通常 SELECT 语句的执行结果的显示顺序都是随机的,因此想要按照某种特定顺序进行排序的话, 需要在 SELECT 语句中进行指定。
具体的方法将在本章第 节中学习。

常见错误④ ——在WHERE子句中使用聚合函数

 


 

posted @ 2020-01-21 21:21  Marlon康  阅读(295)  评论(0编辑  收藏  举报