Oracle中LIMIT与OFFSET结合使用的技巧

avatar
作者
猴君
阅读量:0

在Oracle中,类似于MySQL中的LIMIT和OFFSET,可以使用ROWNUM来实现分页查询。以下是一个示例:

SELECT *  FROM (     SELECT t.*, ROWNUM AS rn     FROM your_table t     WHERE ROWNUM <= 20 )  WHERE rn > 10; 

上面的SQL语句中,首先在子查询中使用ROWNUM来给每一行添加一个行号,然后在外部查询中使用rn来限制返回的行数和偏移量。在这个例子中,偏移量为10,返回的行数为10。

另外,Oracle 12c引入了FETCH FIRST语句,可以更简洁地实现分页查询:

SELECT *  FROM your_table OFFSET 10 ROWS FETCH FIRST 10 ROWS ONLY; 

这个语法更简洁明了,可以指定偏移量和返回的行数。但是需要注意的是,FETCH FIRST语句只在Oracle 12c及以上版本中可用。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!