分享三种高效率SQL语句分页方法

所属分类: 数据库 / 数据库其它 阅读数: 133
收藏 0 赞 0 分享
1.如果有一个自动增长的id字段,则:

定义二个变量:Page,PageCount

Select top PageCount * From [tb_code] Where id>=(select min(id) from (select top (Page-1)*PageCount+1 id from [tb_code] order by id desc) as t) order by id desc

原理,根据ID计算出(Page-1)页的最小值,然后用TOP关键字及可解决问题。


2.SELECT TOP 10 id,username From [tb_code] where id not in
( SELECT TOP 20000 id FROM tb_code ORDER BY username)

优点:此方法可以根据表中的任一个字段排序,在一个表中有几百万条记录时,仍有很高的效率,缺点是在大数据量的情况下效率略逊于第一种


3.SELECT TOP 10 id,username From
(SELECT TOP page*pagecount id, username FROM tb_code ORDER BY username)
DERIVEDTBL ORDER BY username DESC

优点:此方法可以根据表中的任一个字段排序.
缺点是效率最低


在SQL Server 2005中使用rownum分页(rownum函数使用方法介绍)

比方说要从表USER中查看第10到第20条之间的数据,那么SQL是这样实现的

SELECT * FROM (SELECT rownum rowcount,USER.* FROM USER) WHERE ROWCOUNT >=10 AND ROWCOUNT <20

其中函数ROWNUM,用来记录每一条数据所在的位置。
更多精彩内容其他人还在看

Select data from an Excel sheet in MSSQL

Select data from an Excel sheet in MSSQL
收藏 0 赞 0 分享

一个多表查询的SQL语句

一个多表查询的SQL语句
收藏 0 赞 0 分享

一个查询的SQL语句请教,希望能够用一条SQL语句得到结果

一个查询的SQL语句请教,希望能够用一条SQL语句得到结果
收藏 0 赞 0 分享

交叉表查询sql语句

交叉表查询sql语句
收藏 0 赞 0 分享

ms SQL server数据库备份、压缩与SQL数据库数据处理的方法

ms SQL server数据库备份、压缩与SQL数据库数据处理的方法
收藏 0 赞 0 分享

DBCC SHRINKDATABASEMS SQL数据库日志压缩方法

DBCC SHRINKDATABASEMS SQL数据库日志压缩方法
收藏 0 赞 0 分享

SQLSERVER 高级复 制 排错 技巧

SQLSERVER 高级复 制 排错 技巧
收藏 0 赞 0 分享

SQL中代替Like语句的另一种写法

SQL中代替Like语句的另一种写法
收藏 0 赞 0 分享

Sql Server下数据库链接的使用方法

Sql Server下数据库链接的使用方法
收藏 0 赞 0 分享

如何取得一个表的所有字段名用逗号分割

如何取得一个表的所有字段名用逗号分割
收藏 0 赞 0 分享
查看更多