oracle 使用rownum的三种分页方式

rownum是oracle数据库中的一个特有关键字,返回的是一个数字代表记录的行号。

基础知识:rownum只能做<或者<=的条件查询,如果要rownum进行51到100这样的范围判断,需要先查询出每一行的rownum,再用那个序号做判断

获取51到100的数据

三种分页的写法:

1.使用minus,原理就是查询出前100行的数据 减去 查询出前50行的数据

select * from data_table_sql where rownum<=100 
minus 
select * from datat_able_sql where rownum<=50

2.查询出所有数据的rownum,然后再选择50到100的数据(不推荐)

select * from (select t.*,rownum num from data_table_sql t) 
where num<=100 and num>50

3.限定范围100条数据,并查询出这100条的rownum,然后再选择50到100的数据

select * from
(select t.*,rownum num from data_table_sql t where rownum<=100 )
where num>50

下面给大家拓展两个分页查询语句:

1:单表查询

select * from (select t.*,rownum r from table t where rownum <= pagenumber*pagesize) where r >(pagenumber)*pagesize

2:两张表联查

select * from (select rownum rn,xx.* from (select 表名.字段名, 表名.字段名, 表名.字段名... from table1 t1, table2  t2 where t1.字段=t2.字段) xx where rownum<=pagesize*pagenumber) where rn >(pagenumber-1)*pagesize

总结

以上所述是www.887551.com给大家介绍的oracle 使用rownum的三种分页方式,希望对大家有所帮助

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐