关于MySQL 5.5 中group by 和order by问题

新手上路,请多包涵

问题描述

image.png

为啥我这执行没问题,返回的数据也是对的..
今天突然发现可以这样...这个是怎么回事?

疑惑

根据sql执行顺序,order by应该在group by之后的,按说不能使用组函数,以前也一直都是分组后,select列表使用组函数,之后才在order by中使用select中组函数列进行排序。

分组后生成的临时表,是没有salary字段的,而且也已经分过组了,order by使用聚合函数应该报错才对,但反而聚合函数执行成功了,返回的数据也是avg(salary)函数执行成功,然后对该列排序后的数据。

阅读 703
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题