ROWNUM 查询的时候,一定要查询出第一行,否者查不出任何记录,所以做分页查询的时候必须做子查询。
sql举例如下
select *
from (select ROWNUM as rn, t.* from H_CAPITAL_CITY_IDCARD t where ROWNUM <= 3) u
where u.rn > 2 and rn <= 3;
mybatis中的写法如下
<select id="getCapitalCityIDCard" resultType="java.lang.String">
<![CDATA[
select IDCARD
from (select ROWNUM as rn, t.IDCARD
from H_CAPITAL_CITY_IDCARD t
where IDCARD_REL is null and ROWNUM <= #{endRowNum}) u
where u.rn > #{startRowNum}
and u.rn <= #{endRowNum}
]]>
</select>
参考文献:
https://blog.youkuaiyun.com/qq_39196949/article/details/84379874
ROWNUM分页查询需做子查询
博客指出ROWNUM查询时必须查出第一行,否则无记录,做分页查询时需进行子查询,还给出了sql举例和mybatis中的写法,并提供了参考文献。
2165

被折叠的 条评论
为什么被折叠?



