分组允许把数据分为多个逻辑组,以便对每个组进行聚集计算;
分组是在SELECT语句的GROUP BY子句中建立的,GROUP BY在使用时有以下几个约定:
- 如果在SELECT中使用表达式,则必须在GROUP BY子句中指定相同的表达式,不能使用别名;
- 除了聚集计算子句以外,SELECT语句中每个列都必须在GROUP BY子句中给出;
示例1:
错误的示例:
如果想要过滤分组,需要使用HAVING子句,它和WHERE唯一的区别是,WHERE过滤的是行,而HAVING过滤子组;
HAVING 和 WHERE结合使用的栗子:第一个命令没有使用WHERE,第二个命令使用了WHERE;
SELECT子句顺序:
关于子句顺序的示例: