【发布时间】:2011-08-09 18:52:48
【问题描述】:
可能重复:
How do I limit the number of rows returned by an oracle query?
我有这个问题
select * from pr_device_reading order by date_reading DESC
注意这个查询是规范化的,由方法构造,表名会根据方法的参数而改变,所以我不能指定列名(我确实想要所有的结果中的列)。
相当于什么
SELECT *
FROM pr_lecture_combustibles
ORDER BY date_lecture DESC
LIMIT 10,20;
使用 Oracle SQL?
我试过了
SELECT *
FROM (SELECT *
FROM pr_lecture_combustibles
ORDER BY date_lecture DESC)
WHERE ROWNUM BETWEEN 10 AND 20;
和other syntax,但我没有得到任何结果、“缺少表达式”消息和其他错误。
谢谢
【问题讨论】:
-
抱歉,我在快速搜索中没有找到该问题
-
我相信你需要给派生表一个别名。
FROM (....) AS A. -
在 Oracle 12c 中使用 FETCH:stackoverflow.com/a/18972336/290182
-
这是一个有效的搜索。这是关于 limit 子句的替代,它的作用远不止限制行。
-
适用于 Oracle 12c R1 及更高版本的答案:stackoverflow.com/a/26051830/1461424