我儘量選擇數據從11行開始。我用 從副本選擇e_name其中rownum> 10;
這將不顯示的東西.. 請幫我在我的表中選擇11行到第15行
我儘量選擇數據從11行開始。我用 從副本選擇e_name其中rownum> 10;
這將不顯示的東西.. 請幫我在我的表中選擇11行到第15行
你必須使用像
select e_name
from (select e_name,rownum rno from copy)
where rno > 10 and rno < 16
你不能使用像那樣的rownum,你需要將所有東西都包裝到派生表中:
select *
from (
select *,
rownum as rn
form your_table
order by some_column
)
where rn between 11 and 15
您應該在內部查詢中使用order by
,因爲否則您將無法獲得一致的結果。關係表中的行做而不是有任何順序,因此數據庫可以按照任何順序返回行,這感覺很合適。
請閱讀手冊瞭解更多詳情。您的查詢不起作用的原因在那裏記錄在案例中。
http://docs.oracle.com/cd/E11882_01/server.112/e26088/pseudocolumns009.htm#i1006297
你可以使用解析函數ROW_NUMBER()爲好。請考慮http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions137.htm
先寫這將選擇這樣的所有行查詢: -
select ename from employee
現在添加ROWNUM列到您的查詢,ROWNUM將幫助您確定您的查詢行的編號導致
select rownum r,ename from employee
現在使你的查詢作爲子查詢和申請上 'R'(ROWNUM)
select * from (selecr rownum r, ename from employee) subq where subq.r between 11 and 15
範圍