在mysql中使用别名不起作用

时间:2013-08-12 23:41:48

标签: mysql

我对alias的使用感到困惑。例如,下面的查询工作正常

select * from 
(
select ROW_NUMBER() over (partition by prodid order by quantity desc) as 'rankin',prodid,quantity from sales
) A
where rankin=1

但是当我修改它时,如下面的代码段所示,我得到错误:“无效的列名'rownumber'”。

select ROW_NUMBER() over (order by quantity) as 'rownumber' from sales
where rownumber = 1

请解释其中的差异。

1 个答案:

答案 0 :(得分:0)

这是因为SELECTWHERE之后执行而FROMWHERE之前执行,所以它不能在第二个查询中使用但它可以是在第一个查询中使用。