Oracle查询第m到第n条数据:
方法一:使用minus
(select * from 表 where rownum <= n) minus (select * from 表 where rownum <m)
说明 :minus 关键字的意思是求两个结果集的差集,在数学中有这个概念,比如说两个集合可以合并、公有、差集.
方法二:使用 not in
select * from (select * from 表 where rownum < =n) b where b.id not in(select id from 表 where rownum <m)
说明:主要运用了not in运算符,b是别名,代表(select * from 表 where rownum < =n)
方法三:嵌套 select
select * from
(select tt.*, rownum, rn from
(select *
from 目标表
where 筛选条件) tt
where rownum < n)
where rn > m
在MySQL中,查询第m到n条数据,可以直接使用:
select * from 表 limit m,n;