SELECT * FROM
(SELECT A.*, rownum r
FROM(
select
<include refid="..."/>
from ytrpt.ABNORMAL_ODD A
where A.insert_Time between #{param.queryDate,jdbcType=DATE} and #{param.queryDate,jdbcType=DATE}+6
) A
WHERE rownum <= (#{param.pageNum ,jdbcType=NUMERIC})*#{param.pageSize,jdbcType=NUMERIC}
) B
WHERE r > ((#{param.pageNum,jdbcType=NUMERIC})-1)*#{param.pageSize,jdbcType=NUMERIC}
涉及到伪列rownum
rownum只能使用 <,<=; 不能使用 >,>= (因为rownum永远从1开始计数)
ROWNUM与ROWID不同,ROWID是插入记录时生成,ROWNUM是查询数据时生成。ROWID标识的是行的物理地址。ROWNUM标识的是查询结果中的行的次序
可参考https://www.cnblogs.com/oraclestudy/articles/5764380.html