oracle的分页:rownum
注意::
对 ROWNUM 只能使用 < 或 <=, 用 =、 >、 >= 都不能返回任何数据。
rownum是对结果集的编序排列,始终是从1开始,所以rownum直接使用时不允许使用>、>=
所以当查询中间部分的信息时,需要将rownum变成一个真实的列,不再是一个伪列
rownum “伪列”——数据表本身并没有这样的列,是 oracle 数据库为每个数据表 “加上的” 列。
可以标识行号,默认情况下 rownum 按主索引来排序. 若没有主索引则自然排序。
rownum表示一条记录的行数,如果需要分页,至少有两层查询,内层查询符合条件的全部rownum,分页信息在外层控制。
--查找employees表中工资排名前十的员工信息
select rownum,employee_id,last_name,salary
from(
select employee_id,last_name,salary
from employees
order by salary desc
)
where rownum <= 10
mysql的分页:limit
LIMIT n:从第0+1(m=0)条开始,取n条数据,是LIMIT 0,n的缩写
SELECT device_id
FROM user_profile
LIMIT 2
LIMIT m,n:从第m+1条开始,取n条数据
SELECT device_id
FROM user_profile
LIMIT 0,2
LIMIT n OFFSET m:从第m+1条开始,取n条数据
SELECT device_id
FROM user_profile
LIMIT 2 OFFSET 0