问题描述
为啥我这执行没问题,返回的数据也是对的..
今天突然发现可以这样...这个是怎么回事?
疑惑
根据sql执行顺序,order by应该在group by之后的,按说不能使用组函数,以前也一直都是分组后,select列表使用组函数,之后才在order by中使用select中组函数列进行排序。
分组后生成的临时表,是没有salary字段的,而且也已经分过组了,order by使用聚合函数应该报错才对,但反而聚合函数执行成功了,返回的数据也是avg(salary)
函数执行成功,然后对该列排序后的数据。