oracle實現"limit"功能

daduryi發表於2017-05-08

轉載於http://blog.sina.com.cn/s/blog_67e2758d0100s3oc.html

oracle資料庫不支援mysql中limit功能,但可以通過rownum來限制返回的結果集的行數,rownum並不是使用者新增的欄位,而是oracle系統自動新增的。

(1)使查詢結果最多返回前10行:

select * from OB_CALL_DATA_LOG where rownum<=10;  (親測ok)

select * from (select ncallernm, count(*) tol from tmp_86 group by ncallernm order by tol desc) where rownum<20

上面語句不用子查詢怎麼寫??

 

(2)使查詢結果返回中間的10到100行:

如:select * from OB_CALL_DATA_LOG rownum<101  minus  select * from OB_CALL_DATA_LOG rownum>9

注:select * from OB_CALL_DATA_LOG    and rownum>99 and rownum<101是錯誤的,oracle會認為條件不成立

相關文章