SQL SERVER 2008单表分页
2016-04-11 15:00
344 查看
通用脚本如下:
SELECT TOP 页大小 *
FROM
(
SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* FROM TABLEA
) as A
WHERE RowNumber > 页大小*(页数-1)
说明:假如当前页(currentPage)是第2页,每页显示10个数据(pageSzie)。那么第一页的数据就是第11-20条,所以为了显示第二页的数据,即显示第11-20条数据,那么就让RowNumber大于 10*(2-1) 即:页大小*(当前页-1)
实例如下:每页大小为100000,返回第二页数据,所以RowNumber从100001开始计算
DECLARE @PAGESIZE INT,
@PAGE INT
SET @PAGESIZE = 10000
SET @PAGE = 1
SELECT TOP (@PAGESIZE) * FROM(
SELECT ROW_NUMBER() OVER(ORDER BY A.UserId) AS RowNum,*
FROM BasUserInfo A
) A
WHERE A.RowNum > @PAGESIZE * (@PAGE -1)
SELECT TOP 页大小 *
FROM
(
SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* FROM TABLEA
) as A
WHERE RowNumber > 页大小*(页数-1)
说明:假如当前页(currentPage)是第2页,每页显示10个数据(pageSzie)。那么第一页的数据就是第11-20条,所以为了显示第二页的数据,即显示第11-20条数据,那么就让RowNumber大于 10*(2-1) 即:页大小*(当前页-1)
实例如下:每页大小为100000,返回第二页数据,所以RowNumber从100001开始计算
DECLARE @PAGESIZE INT,
@PAGE INT
SET @PAGESIZE = 10000
SET @PAGE = 1
SELECT TOP (@PAGESIZE) * FROM(
SELECT ROW_NUMBER() OVER(ORDER BY A.UserId) AS RowNum,*
FROM BasUserInfo A
) A
WHERE A.RowNum > @PAGESIZE * (@PAGE -1)
相关文章推荐
- centos 6.7 搭建redis 主从服务
- mysql xtrabackup在线搭建主从
- Oracle比较时间大小
- mysql存储过程详解
- MySQLlimit分页查询rest接口
- 两台redis + keepalived主备
- mysql中文乱码
- Oracle内处理字符串
- oracle删除锁表进程
- mysqldump备份数据下篇-mysqldump自动备份数据库
- oracle 数据库使用记录,mybatis
- Redis 配置
- PostgreSQL
- mysql数据库
- mysql中or和in的效率测试
- 在SQL SERVER中批量替换字符串的方法
- memcache命令
- SQL server 2012安装要求
- cactiez v11添加对mysql数据库、apache系统进行监控
- cactiez v11添加对mysql数据库、apache系统进行监控