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

Posted 绍耕

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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子句中使用聚合函数

 


 

以上是关于SQL基础教程(第2版)第3章 聚合与排序:3-2 对表进行分组的主要内容,如果未能解决你的问题,请参考以下文章

SQL基础教程(第2版)第3章 聚合与排序:3-3 为聚合结果指定条件

SQL基础教程(第2版)第3章 聚合与排序:3-4 对查询结果进行排序

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

SQL基础教程(第2版)第8章 SQL高级处理:8-1 窗口函数

SQL基础教程(第2版)第5章 复杂查询:5-3 关联子查询

SQL基础教程(第2版)第4章 数据更新:4-3 数据的更新(UPDATE)