SQL

SQL 知识量:22 - 44 - 129

10.2 注意事项><

分组和排序- 10.2.1 -

需要区分group by与order by的不同之处:

order bygroup by
对产生的输出排序对行分组,但输出可能不是分组的顺序
任意列都可以使用(非选择的列也可以)只能使用选择列或表达式
不一定必须使用如果与聚集函数一起使用列(或表达式),则必须使用

一般在使用group by子句时,也应该给出order by子句,这是保证数据正确排序的唯一方法,不要依赖group by的默认排序。

select子句的顺序- 10.2.2 -

select语句具有的子句和元素越来越多,需要对各部分的应用顺序进行一下梳理,因为各个子句必须按照以下顺序给出,才能正常运行。

子句说明是否必须使用
select要返回的列或表达式
from从中检索数据的表仅在从表选择数据时使用
where行级过滤
group by分组说明仅在按组计算聚集时使用
having组级过滤
order by输出排序