为什么在MySQL的GROUP BY中不允许使用别名?

时间:2019-02-01 13:09:49

标签: mysql group-by alias

我意识到,将别名放在GROUP BY中并在SELECT查询中调用它是不合语法的,如下所示。

错误

SELECT 
    day, num
FROM users
GROUP BY DAYNAME(created_at) as day
ORDER BY COUNT(*) as num;

但是,如果我要进行其他操作(在SELECT中使用别名,然后在GROUP BY中调用它),则它的工作方式如下所示。

正确

SELECT 
    DAYNAME(created_at) as day, COUNT(*) as num
FROM users
GROUP BY day
ORDER BY num;

我知道MySQL中的执行顺序,告诉我SELECTGROUP BY之后执行。但是根据结果,这确实让我感到困惑。有人可以说清楚吗?

这是另一个可能被标记为类似问题的问题,但答案似乎并未详细描述正在发生的事情。 Group by Alias not working -stackoverflow

0 个答案:

没有答案