0

我对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

请说明区别。

4

1 回答 1

0

这是因为在 theSELECT之后执行,WHERE并且在 theFROM之前执行,WHERE所以它不能在第二个查询中使用,但可以在第一个查询中使用。

于 2013-08-12T23:46:24.023 回答