不能通过行号得到记录

Cof*_*ode 2 sql t-sql

我的查询出错了

select ID, ROW_NUMBER() OVER(ORDER BY ID) as num from T_TASK where ROW_NUMBER() = 5
Run Code Online (Sandbox Code Playgroud)

还有这个

select ID, ROW_NUMBER() OVER(ORDER BY ID) as num from T_TASK where num = 4
Run Code Online (Sandbox Code Playgroud)

查询有什么问题?

Mar*_*ers 6

使用子查询:

SELECT ID
FROM (
    SELECT ID, ROW_NUMBER() OVER(ORDER BY ID) AS num
    FROM T_TASK
) T1 WHERE num = 5
Run Code Online (Sandbox Code Playgroud)


Mit*_*eat 6

SELECT ID
FROM
(select ID, ROW_NUMBER() OVER(ORDER BY ID) as rownum from T_TASK) dr
WHERE rownum = 5
Run Code Online (Sandbox Code Playgroud)