我正在开发一个 Web 应用程序,需要对有序结果进行分页。我通常为此目的使用 LIMIT/OFFSET。
在 Oracle 中分页排序结果的最佳方式是什么?我见过一些使用 rownum 和子查询的示例。是这样吗?您能否给我一个将这个 SQL 转换为 Oracle 的示例:
SELECT fieldA,fieldB
FROM table
ORDER BY fieldA
OFFSET 5 LIMIT 14
(我正在使用 Oracle 10g,值得)
谢谢!
答: 使用 karim79 提供的以下链接,此 SQL 将如下所示:
SELECT * FROM (
SELECT rownum rnum, a.*
FROM(
SELECT fieldA,fieldB
FROM table
ORDER BY fieldA
) a
WHERE rownum <=5+14
)
WHERE rnum >=5