--效率高的写法
SELECT * FROM
(SELECT ROWNUM r, t.* FROM 表1 t where
列2='限定条件' and --限定条件
ROWNUM <= pageNo*pageSize ORDER BY 列1 DESC) table_alias
WHERE table_alias.r > (pageNo-1)*pageSize;
--效率垃圾但又似乎很常用的分页写法
SELECT * FROM
(SELECT t1.*, ROWNUM r FROM
(SELECT * FROM 表1
where 列2='限定条件' --限定条件
order by 列1) t1
WHERE ROWNUM <= pageNo*pageSize)
WHERE r > (pageNo-1)*pageSize;
--效率高的写法:在MyBatis中 + 限定条件
SELECT * FROM
(SELECT ROWNUM r, t.* FROM 表1 t where
<if test="列1 !=null and 列1 !=''"> --限定条件
列1=#{列1} and
</if> --限定条件 结束
ROWNUM <= #{pageNo}*#{pageSize} ORDER BY 列1 desc) table_alias
WHERE table_alias.r > (#{pageNo}-1)*#{pageSize}
参考:https://blog.youkuaiyun.com/use_admin/article/details/83622414