GROUP BY
运行结果:
使用GROUP BY 应该注意的一些问题:
1.在SELECT 子句的字段列表中,除了聚合函数外,其他所出现的字段一定要 GROUP BY 子句中有定义才行。
2. SELECT 子句的字段列表中不一定要有聚合函数,但至少要用到 GROUP BY 子句列表的一个项目
3.在 SQL Server 中 text、ntext、和 image 数据类型的字段不能作为 GROUP BY 子句的分组依据
4. GROUP BY 子句不能使用字段别名
5.如果未指定 OREDER BY 子句,则使用 GROUP BY 子句不按任何特定的顺序返回组,建议始终使用 GROUP BY 子句指定具体数据顺序
6.在使用 CUBE 或 ROLLUP ,不支持区分聚合,如AVG(DISTINCT column_name) 、COUNT(DISTINCT column_name)和 SUM(DISTINCT column_name) 。如果使用这类聚集,SQL Server 将返回错误信息并取消查询
7.最好不要对可能包含空值的字段使用 GROUP BY 子句,因为空值也将被当作一组
8.如果在语句中使用了 WHERE 子句,SQL Server 只对满足 WHERE 子句的记录进行分组和汇总
9.联合使用 ALL 和 GROUP BY子句时,不论记录是否满足 WHERE 子句中的条件,组合字段中含有空值的所有行都将被列出