3-2 对表进行分组
通过使用 聚合函数 和GROUP BY 子句,可以根据“商品种类”或 “登记日期”将表分割后再进行汇总
GROUP BY 子句 也和 SELECT 子句一样,可以通过逗号分隔指定多列
另外,GROUP BY 子句的书写位置也有严格要求,一定要写在 FROM 子句之后(如有WHERE 子句的话需要写在WHERE 子句之后)
子句的书写顺序
- SELECT
- FROM
- WHERE
- GROUP BY
GROUP BY 和 WHERE 并用时 SELECT 语句的执行顺序
FROM -> WHERE -> GROUP BY -> SELECT
在SQL 语句中,书写顺序 和 执行顺序 并不相同,这也是 SQL难以理解的原因之一
使用GROUP BY 时的注意点
**
在使用GROUP BY 子句时,SELECT 子句中不能出现聚合建之外的列名
当有GROUP BY 时,SELECT 后面只能跟三种,一个是常数(数字或者加引号的字符串),一个是聚合函数(SUM/AVG/MIN/MAX之类),一个是GROUP BY子句中指定的列名
SELECT 子句中的项目可以通过AS关键字来指定别名,但是,在GROUP BY子句中是不能使用别名的
这个是因为SQL语句在DBMS内部的执行顺序造成的- SELECT 子句在GROUP BY子句之后执行,在执行GROUP BY时,SELECT 子句中定义的别名,DBMS还不知道GROUP BY 子句结果的显示是无序的
