sql中,group by 与 order by 两条语句的输入顺序能颠倒吗?
3个回答
展开全部
如果二者在同一个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 之前。但是二者没有什么相互的影响。
按班级求最高成绩:
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 之前。但是二者没有什么相互的影响。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询