我有一個表emp(ename,eid,did,sal,sex),其中column是外鍵與另一個表部門(did,dname)。rownum = 5返回沒有數據,但表中有10行
我想得到公司的第n個人以及人的細節。 我執行以下查詢(我的表有10行)
SELECT rownum,vi.* FROM
(SELECT * FROM emp ORDER BY sal desc) vi
WHERE ROWNUM >5;
當我執行的rownum> 5或ROWNUM = 5獲得「無數據」 但如果我執行的rownum < 5然後我得到顯示4行。
。我想要數據,當我做rownum = n
它不工作,因爲:第一行假定爲1'ROWNUM'既然你'WHERE'子句'ROWNUM> 5'然後這減少到'1> 5'並且該行被丟棄。隨後的行將針對1的「ROWNUM」進行測試(因爲前一行不再在輸出中,現在不需要行號),這將再次通過測試並被丟棄。重複,廣告噁心和所有行都會使'WHERE'子句過濾器失效並被丟棄。你需要3級嵌套查詢 - 內部一個命令,中間分配'ROWNUM'僞coulmn和它的外部過濾器。 – MT0