可能重复:
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,但没有结果,“缺少表达式”消息和其他错误。
谢谢
最佳答案
如果您可以接受获取行号的附加列,那么可以应用ROW_NUMBER
分析函数并执行如下操作
SELECT *
FROM (SELECT a.*,
ROW_NUMBER() OVER( order by date_lecture desc ) rn
FROM pr_lecture_combustibles a)
WHERE rn BETWEEN 10 AND 20
但是您将得到表中的所有列加上
RN
列关于mysql - Oracle“LIMIT n,m”相当于,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5735600/