数据库分页查询

博客介绍了多种数据库的分页查询方法,包括MySQL、Oracle、DB2、SQLServer和PostgreSQL。详细说明了MySQL使用LIMIT子句分页,还提及了其他数据库不同版本的分页方式,最后提到了通用分页SQL。

数据库MySQL-Oracle-DB2-SQLServer分页查询

1. MySQL分页查询

(1)关键字: LIMIT beginIndex, maxRow

(2)示例:

LIMIT子句可以用来限制由SELECT语句返回过来的数据数量,它有一个或两个参数。

如果给出两个参数, 第一个参数指定返回的第一行在所有数据中的位置,从0开始(注意不是1),第二个参数指定最多返回行数

例如:

-- 从beginIndex行开始,查询maxRow行
select * from table limit beginIndex,maxRow

-- 从10行开始,查询20行;即查询10~30行的数据
select * from table limit 10,20
-- 返回前10行
select * from table WHERE … LIMIT 10; 
-- 返回前10行
select * from table WHERE … LIMIT 0,10;
-- 返回第10-30行数据
select * from table WHERE … LIMIT 10,20; 

2. Oracle分页查询

(1)方式一

1

select from (select a.*,rownum rc from 表名 where rownum<=endrow) a where a.rc>=startrow

 

3. DB2分页查询

1

select from (select rownumber() over() as rc,a.* from (select from 表名 order by 列名) as a) where rc between startrow and endrow

 

4. SQLServer分页查询

(1)SQLServer 2000

1

select top pagesize * from 表名 where 列名 not in(select top pagesize*page 列名 from  表名 order by 列名) order by 列名

(2)SQLServer 2005

1

select from (select 列名,row_搜索number() over(order by  列名1) as 别名from 表名) as where t.列名1>=startrow and t.列名1<=endrow

5. PostgreSQL分页查询

1

select from 表名 limit pagesize,offset startrow 

99. 通用分页SQL

select * from (
 select * from tb_student where sid not in(
     select sid from tb_student where rownum<=(currentPage-1)*pageSize)
) where rownum <=pageSize;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值