数据库分页大全(oracle利用解析函数row_number高效分页)
2010-10-28 11:34
603 查看
数据库分页大全(oracle利用解析函数row_number高效分页)
Mysql分页采用limt关键字
select*fromt_orderlimit5,10;#返回第6-15行数据
select*fromt_order limit 5; #返回前5行
select*fromt_order limit0,5;#返回前5行
sqlserver 2000分页采用top关键字(2005以上版本也支持关键字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 按照勒个字段排序
SQLServer分页
两种:
(1):
select top 20 name from table where id>
(select max(id) from
(select top 20*3 name from table order by id)
)
(2) :
select top 20 name form table where id not in
(select top 20*3 from table order by id)
Mysql分页采用limt关键字
select*fromt_orderlimit5,10;#返回第6-15行数据
select*fromt_order limit 5; #返回前5行
select*fromt_order limit0,5;#返回前5行
sqlserver 2000分页采用top关键字(2005以上版本也支持关键字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 按照勒个字段排序
SQLServer分页
两种:
(1):
select top 20 name from table where id>
(select max(id) from
(select top 20*3 name from table order by id)
)
(2) :
select top 20 name form table where id not in
(select top 20*3 from table order by id)
相关文章推荐
- 数据库分页大全(oracle利用解析函数row_number高效分页)
- 数据库分页大全(oracle利用解析函数row_number高效分页)
- 数据库分页大全(oracle利用解析函数row_number高效分页)
- 数据库分页大全(oracle利用解析函数row_number高效分页)
- 数据库分页大全(oracle利用解析函数row_number高效分页)
- 数据库分页大全(oracle利用解析函数row_number高效分页)
- 数据库分页大全(oracle利用解析函数row_number高效分页)
- 利用Sql Server 2005的新函数ROW_NUMBER()写的高效分页存储过程
- oracle利用分析函数row_number()over()查询一张表所有字段并按照其中部分字段分组查询某字段最大值
- 利用Oracle分析函数row_number和sys_connect_by_path实现多行数据合并为一行
- [Oracle]高效的SQL语句之分析函数--row_number() /rank()/dense_rank()
- 利用Oracle的row_number() over函数消除重 复的记录
- 利用Oracle的row_number() over函数消除重复的记录
- [Oracle]高效的SQL语句之分析函数(三)--row_number() /rank()/dense_rank()
- 利用Oracle分析函数row_number和sys_connect_by_path实现多行数据合并为一行
- ROW_NUMBER()函数的使用 (利用可以轻松分页)
- [Oracle]高效的SQL语句之分析函数(三)--row_number() /rank()/dense_rank()
- SQLServer2005新的高效分页方法-row_number()over函数的使用
- oracle数据库的row_number() over() 函数
- sql Server 05中利用ROW_NUMBER() 函数分页