常用数据库分页方式实现(Oracle、MySQL、PostgreSQL、SQL server)

postgresql数据库分页实现方式:

SELECT select_list FROM table_expression [LIMIT { number | ALL }] [OFFSET number]

OFFSET说明在开始返回行之前忽略多少行。 OFFSET 0和省略OFFSET子句是一样的。 如果OFFSET和LIMIT都出现了, 那么在计算LIMIT个行之前忽略OFFSET行。

 

oracle数据库分页实现方式:

SELECT * FROM ( SELECT rownum AS rnum, e.* FROM ( SELECT * FROM table ) e WHERE rownum <= 10 ) WHERE rnum >= 8;

使用rownum实现。

 

mysql数据库分页实现方式:

//收到客户端{pageNo:1,pagesize:10}  
select * from table limit (pageNo-1)*pageSize, pageSize;

第一个参数代表开始查询的行数,第二个参数代表每页的行数。

 

sqlserver数据库分页实现方式:

//每页10条,取第31-40条数据。 
//方法一:max/top 
select top 10 * from a where id>(select max(id) from (select top 30 id from a order by id)a1) order by id 
//方法二:row_number() 其中ROW_NUMBER()只支持sql2005及以上版本 
select top 10 * from (select row_number()over(order by id)rownumber,* from a)a1 where rownumber>30

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值