SQLserver数据库-学习笔记-group by和having

group by (分组)

功能:把表中的记录按照字段的不同进行分组

执行顺序:先分组后查询

group by a, b, c的用法

先按a分组,如果a相同,再按b分组,如果b相同,再按c分组,最终统计的是最小分组的信息

使用group by 后 select语句只能出现分组的整体信息,不能出现组内的详细信息

having(对分组之后的信息进行过滤)

1.having子句是用来对分组之后的数据进行过滤,因此使用having时通常都会先使用group by

2.如果没有使用group by 但使用了having,则意味着having把所有的记录当作一组来进行过滤

3.having子句出现的字段必须的是分组之后的组的整体信息,having子句不允许出现组内的详细信息

4.select字段中可以出现别名,但是hacing子句中不能出现字段的别名,只能使用字段最原始的名字,

5.where必须写在having的前面,顺序不可颠倒

猜你喜欢

转载自www.cnblogs.com/renren-study-notes/p/12083213.html