2010-06-28 46 views
2

記錄我得到一個錯誤與此查詢
cannt獲得由行號

select ID, ROW_NUMBER() OVER(ORDER BY ID) as num from T_TASK where ROW_NUMBER() = 5 

而這一次

select ID, ROW_NUMBER() OVER(ORDER BY ID) as num from T_TASK where num = 4 

什麼錯查詢?

回答

6
SELECT ID 
FROM 
(select ID, ROW_NUMBER() OVER(ORDER BY ID) as rownum from T_TASK) dr 
WHERE rownum = 5 
6

使用子查詢:

SELECT ID 
FROM (
    SELECT ID, ROW_NUMBER() OVER(ORDER BY ID) AS num 
    FROM T_TASK 
) T1 WHERE num = 5 
0

1您不能在WHERE子句

2同樣直接使用Windows函數應用於別名太