1、分页sql写法:
2、疑问:
为什么不写成这样:
select T.* ,ROWNUM RN from tableName T where ROWNUM <=${pageNumber}*${pageSize} and ROWNUM >(${pageNumber}-1)*${pageSize}
这样写是永远查不出结果的,原因如下:
rownum是查询过后才按顺序排的,假如你的条件是rownum>1;那么返回数据的第一条(rownum是1)就不符合要求了,然后第二条数据变成了现在的第一条,结果这一条rownum又变成1了又不符合要求了,以此类推 就没有返回结果。
所以,rownum是虚拟列,是得出结果后,再进行计算的。所以,只能是小于等于,无法大于。