sql中,group by 与 order by 两条语句的输入顺序能颠倒吗?

2024-11-18 14:26:39
推荐回答(3个)
回答(1):

如果二者在同一个select 子句中,肯定是先使用 group by 分组,为的是使用聚合函数,order by 放在后面,起作用只是为了将查询结果排序。举个例子:
按班级求最高成绩:
select class_num, max(score) from student group by classnum order by class_num;
此语句,先按班级分组,求出最高成绩,然后将结果按照班级号排序。

如果不是同一个select 子句,那就不一定了,例如:
select a.字段, b.字段 from (a子查询,其中包含order by) a, (b子查询,其中包含group by) where 关联条件;
这种情况下,order by 有可能在 group by 之前。但是二者没有什么相互的影响。

回答(2):

不能颠倒,sql会按前后顺序执行

回答(3):

ORDER BY在一条查询语句中只能放在最后