admin 发布时间:2015-02-03 分类:.NET 阅读:4811次 添加评论
程序中经常要用到分页的方式来展现数据,不然一次性展示所有的数据不仅加载速度过慢,也会加重服务器及数据库的负担,占用不必要的服务器资源。程序中可以使用aspnetpager等分页控件来展示数据,也可以在数据库方面来查询分页。下面介绍SQL查询时候用到的分页查询方法。
方法一:通过Id或者排序号NOT IN进行分页
SELECT TOP 10 * FROM 表名 WHERE id NOT IN ( SELECT TOP 10 *(页数-1) id FROM 表名 ORDER BY id ) ORDER BY id
方法二:通过ID筛选
SELECT TOP 10 * FROM 表名 WHERE id > ( SELECT ISNULL(MAX(id),0) FROM ( SELECT TOP 10 *(页数-1) id FROM 表名 ORDER BY id ) a ) ORDER BY id
方法三:通过SQL Server 2005函数ROW_NUMBER生成带序列号的表来分页
SELECT TOP 10 * FROM ( SELECT ROW_NUMBER() OVER (partition by classid ORDER BY id) AS rank,* FROM 表名 ) A WHERE rank> 页大小*(页数-1)
通过classid分类,id排序。
其中使用ROW_NUMBER分页的效率最高。
关键字词: SQLSQL Server分页
发表评论:
◎欢迎您的参与讨论。