4
我写了下面的SQL代码在我的SQL Server上运行。为什么在SQL Server中使用ROW_NUMBER时会出现错误?
SELECT
atd.DeviceID,
ROW_NUMBER() over(order by atd.deviceid) as rownumber
FROM
dbo.Devices atd
WHERE
(rownumber between 11 and 20);
我得到以下输出:
Msg 207, Level 16, State 1, Line 5
Invalid column name 'rownumber'.
Msg 207, Level 16, State 1, Line 5
Invalid column name 'rownumber'.
正如你所看到的,我想用ROW_NUMBER
只得到通常会由查询返回的行的子集。我从来没有使用过ROW_NUMBER
函数。
我在做什么错?
运行在你的答案结果给出的第一个查询出现以下错误:'多部分标识符“atd.DeviceID”无法绑定。 ' –
@Daniel只需将DeviceID列的atd前缀关闭即可。 –
@DanielAllenLangdon - 你是对的,我现在更新了我的答案 – Lamak