首页 > 数据库技术 > 详细

Oracle-限制查询返回条数,MYSQL LIMIT 的实现

时间:2019-12-04 13:39:10      阅读:791      评论:0      收藏:0      [点我收藏+]

    Oracle没有MYSQL LIMIT子句,但是从12c版本开,我们可以使用FETCH子句限制返回行数。

SELECT * FROM DUAL OFFSET ROW | ROWS  FETCH FIRST | NEXT rowcount | percent PERCENT ROW | ROWS ONLY | WITH TIES ;

    关键字说明:

  • OFFSET ROW | ROWS 查询时限定要跳过的行数
  • FETCH 关键字记住就行
  • FIRST | NEXT rowcount | percent PERCENT ROW | ROWS  限定行数或者百分比
  • ONLY | WITH TIES 完全按照行数限制还是返回最后一行相同的值,使用WITH TIES必须有ORDER子句

    限制条件:

  • 不能使用FOR UPDATE
  • 不能使用序列
  • 查询包含FRTCH则物化试图刷新会失败
  • ORA-00918错误时,需调整重复的字段名

     例子:

SELECT employee_id, last_name
  FROM employees
 ORDER BY employee_id 
OFFSET 5 ROWS FETCH NEXT 5 ROWS ONLY;

     12c之前怎么办?

SELECT * FROM (SELECT * FROM DUAL ORDER BY COLUMN_NAME) WHERE ROWNUM>= ?  AND ROWNUM<= ?

 

Oracle-限制查询返回条数,MYSQL LIMIT 的实现

原文:https://www.cnblogs.com/yangjn/p/11981847.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!