3 回答

TA貢獻1829條經驗 獲得超7個贊
mysql中的sql語句:
1 | select * from 表名 limit 0,10; |
表示取表中的前10條數據(從第1條開始,取10條)
換成Oracle,相應功能的語句為:
1 | select * from 表名 where rownum <= 10 ; |
如果取[5,10]條,則,oracle語句寫法有兩種:
1 2 3 4 5 6 7 8 9 10 11 12 | (1) select * from table where rownum<=10 minus select * from table where rownum<5 ; (2) select * from ( select rownum r,a.* from table a where rownum<=10 ) where r>=5; 因為rownum不支持>=操作,所以,要先將rownum實例化。 經測試,第二種寫法,比第一種寫法的效率要高。 |

TA貢獻1853條經驗 獲得超6個贊
select * from tablename t where t.rownum<10
如果是第10到20條記錄可以用
select * from tablename t where t.rownum<20 minus select * from tablename t where t.rownum<10

TA貢獻1719條經驗 獲得超6個贊
現在常用的而且高效的就是這樣寫
select * from (select a.*,rownum rn from table a where rownum <= 10) where rn > 0
添加回答
舉報