首页 > 解决方案 > oracle查询中的limit和offset

问题描述

我需要 oracle 中以下查询的解决方案

select * from option_list order by option_id LIMIT 4 OFFSET 1

执行时面临以下错误

odbc_exec(): SQL error: [Oracle][ODBC][Ora]ORA-00933: SQL command not properly ended

请帮助我在使用 php 执行 oracle 查询时获得偏移和限制的解决方案

注意:在 postgres 中查询工作正常,但问题出在 oracle

标签: sqloracleoracle11goracle10g

解决方案


这是您的解决方案,您必须制作这样的查询结构

select * 
  from ( select /*+ FIRST_ROWS(n) */ 
  a.*, ROWNUM rnum 
      from ( your_query_goes_here, 
      with order by ) a 
      where ROWNUM <= 
      :MAX_ROW_TO_FETCH ) 
where rnum  >= :MIN_ROW_TO_FETCH;

更多详情请到这里


推荐阅读