简体   繁体   English

在mysql中使用别名无法正常工作

[英]Using alias in mysql is not working

I am confused by the usage of alias . 我对alias的用法感到困惑。 For example, the query below works fine 例如,下面的查询工作正常

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

But when I modify it as shown in the snippet below I get the error: "Invalid column name 'rownumber'". 但是,当我按下面的代码片段所示进行修改时,出现错误:“无效的列名'行号'”。

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

Please explain the difference. 请说明差异。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM