分页SQL

Oracle

rownum三层嵌套查询
1)先排序
2)得到行号
3)再规定范围

select y.* from
(
select rownum as r2,x.*
from (
select e.* from emp e order by sal desc
) x
) y where r2>=6 and r2<=10


row_number函数(数据量大,效率高)

select e.*,row_number() over(partition by deptno order by empno)as num from emp e
--partition by 按xx分组,
--order by 按YY排序。

--每个分组一个number


select x.* from(
(
select e.* ,row_number() over(order by sal) as num from emp e
)x
)where num>=5 and num<=15



Mysql分页采用limt关键字

select * from t_order limit 5,10; #返回第6-15行数据
select * from t_order limit 5; #返回前5行
select * from t_order limit 0,5; #返回前5行



Mssql 2000分页采用top关键字(20005以上版本也支持关键字rownum)

Select top 10 * from t_order where id not in
(select id from t_order where id>5 ); //返回第6到15行数据



其中10表示取10记录 5表示从第5条记录开始取
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值