欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

oracle 使用rownum的三种分页方式

程序员文章站 2022-04-01 09:18:51
rownum是oracle数据库中的一个特有关键字,返回的是一个数字代表记录的行号。 基础知识:rownum只能做<或者<=的条件查询,如果要rownum进行51到100...

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

总结

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