数据库分页大全

数据库分页大全( oracle利用解析函数row_number高效分页)


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条记录开始取

Oracle分页

①采用rownum关键字(三层嵌套)
SELECT * FROM(

SELECT A.*, ROWNUM
num FROM

( SELECT * FROM t_order)A

WHERE

ROWNUM<=15)
WHERE num>=5; - -返回第5-15行数据

②采用row_number解析函数进行分页(效率更高)

SELECT xx.* FROM(
SELECT t.*,row_number() over( ORDER BY o_id) AS num
FROM t_order t
)xx
WHERE num BETWEEN 5 AND 15;
--返回第5-15行数据

解析函数能用格式

函数() over(pertion by 字段 order by 字段);
Pertion 按照某个字段分区

Order 按照勒个字段排序

你可能感兴趣的:(oracle,数据库)