第一种采用offset fetch next方式,2012版本之上支持
select * from users order by id offset 0 rows fetch next 10 rows only ;;  //offset A rows ,将前A条记录舍去,fetch next B rows only ,向后在读取B条数据
第二种,利用row_number() over(order by id)函数计算出行数,选定相应行数返回,SQL server 2005版本以上才支持
分页查询第2页,每页有10条记录
select top 10 *
from (select row_number()
over(order by sno asc) as rownumber,*
from user) temp_row
where rownumber>10;
第三种,max主键,先top前11条行记录,然后利用max(id)得到最大的id,之后再重新再这个表查询前10条,不过要加上条件,where id>max(id)
分页查询第2页,每页有10条记录
select top 10 *
from user
where sNo>=
(select max(sNo)
from (select top 11 sNo
from user
order by  sNo asc) temp_max_ids)
order by sNo;
网友回复
- threejs如何做个三维搭积木的游戏?
- three如何实现标记多个起始路过地点位置后选择旅行工具(飞机汽车高铁等),最后三维模拟行驶动画导出mp4?
- ai实时驱动的3d数字人可视频聊天的开源技术有吗
- swoole+phpfpm如何实现不同域名指向不同目录的多租户模式?
- 如何用go替换nginx实现请求phpfpm解析运行php脚本?
- 有没有浏览器离线运行进行各种文档、图片、视频格式转换的开源工具?
- 如何使用go语言搭建一个web防火墙?
- linux如何检测特定网络协议比如http协议中报文是否包含特点关键词并阻止返回给客户?
- 如果在nginx外过滤包含某些关键词的网页并阻止打开?
- 程序员怎么做副业赚钱?



 
				 
			 
			 
				 
			