sqlserver 数据分页 多个主键
2015-11-16 13:53
351 查看
在sqlserver中,数据库的分页一般结合top 和 not in 来实现,但这必须是表中只有一个主键,如果有多个主键该怎么做呢
现在有一个表A
里面有字段
name
schoolyear
text
其中name 和 schoolyear为主键
如果要查询 pagesize 条数据,第 page 页
解决方案:
用row_number()函数来实现
SELECT TOP pagesize * FROM
(SELECT ROW_NUMBER() OVER (ORDER BY name) AS RowNo,* FROM A)
WHERE RowNo > (page - 1) * pagesize
这种方法的思路:
ROW_NUMBER() 可以生成一个顺序的行号,OVER (ORDER BY name) 是根据name来排行号
现在有一个表A
里面有字段
name
schoolyear
text
其中name 和 schoolyear为主键
如果要查询 pagesize 条数据,第 page 页
解决方案:
用row_number()函数来实现
SELECT TOP pagesize * FROM
(SELECT ROW_NUMBER() OVER (ORDER BY name) AS RowNo,* FROM A)
WHERE RowNo > (page - 1) * pagesize
这种方法的思路:
ROW_NUMBER() 可以生成一个顺序的行号,OVER (ORDER BY name) 是根据name来排行号
相关文章推荐
- ORACLE获取某个时间段之间的月份列表
- MYSQL用法(十七) MySQL中DATE_FORMAT()用法
- MySQL 模糊检索
- Latch和Lock的区别
- mysql查询今天、昨天、7天、近30天、本月、上一月 数据
- MysqL group by 用法解析
- windows下mysql远程访问慢
- CentOS oracle Client客户端安装
- windows下mysql开启远程访问权限
- MySQL数据库十大优化技巧
- oracle闪回数据
- Oracle查看版本号
- ubuntu 安装php-redis
- Windows调试Postgresql
- 关于mysql数据库不出现名为mysql数据库的解决办法
- 数据库范式区别
- 数据库的3个范式之间的区别
- 一个sql题目, 统计每年每月的信息
- ios开发之--数据库开发
- SQL SERVER 2008 R2安全配置与防暴力破解