我知道MySQL用的是limit关键字,但是Oracle是怎么样的呢?求具体解释!
2 回答
慕森王
TA贡献1777条经验 获得超3个赞
SELECT * FROM
(SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A
WHERE ROWNUM <= 40
)
WHERE RN >= 21
其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页的原始查询语句。ROWNUM <= 40和RN >= 21控制分页查询的每页的范围。主要就是靠oracle的伪列rownum来控制。
Qyouu
TA贡献1786条经验 获得超11个赞
oracle使用rownum进行数据分页,类似于sqlserver的top,就是说从游标从那一行开始取数据,取多少条数据,原理都是一样的
select * from (select A.*,ROWNUM RN from (
select t *
from table t
) A
where ROWNUM <=截止行
where RN >开始行
添加回答
举报
0/150
提交
取消