当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 一条SQL语句搞定Sql2000 分页

MSSQL
优化SQL Server索引的小技巧
SQL Server的空值处理策略
Windows上的MySQL UDF开发
MS SQLSERVER中如何快速获取表的记录总数
MS SQLSERVER 中如何得到表的创建语句
使用索引调节向导调整应用程序的性能
使用查询分析器调整SQL服务器脚本
SQL Server到Oracle连接服务器的实现
数据库查询结果的动态排序(6)
数据库查询结果的动态排序(7)
保持Oracle数据库优良性能的若干诀窍
数据库管理员制胜之宝
在Linux下访问MS SQL Server数据库
关于如何在查询结果中添加自动编号
如何提取除最新十条记录之外的所有记录?
一个有关DISTINCT的问题解答
关于MSSQL Server中DATETIME类型数据的处理
TOP N 和SET ROWCOUNT N 哪个更快?
金额阿拉伯数字转换为中文的存储过程
谈谈数据从sql server数据库导入mysql数据库的体验

MSSQL 中的 一条SQL语句搞定Sql2000 分页


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 102 ::
收藏到网摘: n/a

一条sql语句就实现了分页效果,但效率不是很高,建议学习,不建议使用,最好用存储过程 1.所有记录的分页:
SELECT TOP 页大小 *
FROM
Users
WHERE
(ID NOT IN (SELECT TOP (页大小*(页数-1)) ID FROM Users ORDER BY ID DESC)) //skip(页大小*(页数-1)) 条记录
ORDER BY
ID DESC
2.符合条件记录的分页(注意此时你的查询条件要分布在两个查询语句中,谨记)
SELECT TOP 页大小 *
FROM
Users
WHERE
+你的查询条件
AND ( ID NOT IN (SELECT TOP (页大小*(页数-1)) ID where + 你的查询条件 FROM Users ORDER BY ID DESC))
ORDER BY
ID DESC