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

zgxzowen 2009-05-24

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

 

Mysql分页采用limt关键字

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

select

*fromt_orderlimit5;#返回前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(

SELECTA.*,ROWNUMnumFROM

(SELECT*FROMt_order)A

WHERE

ROWNUM<=15)

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

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

SELECT xx.* FROM(

SELECTt.*,row_number()over(ORDERBYo_id)ASnum

FROMt_ordert

)xx

WHERE num BETWEEN 5 AND 15;

--返回第5-15行数据

解析函数能用格式

函数() over(pertion by 字段 order by 字段);

Pertion 按照某个字段分区

Order 按照勒个字段排序

相关推荐

ganyouxianjava / 0评论 2012-05-31