SqlServer - T-sql分页查询

本文介绍了如何在SQL Server中使用T-SQL进行高效的分页查询,详细解析了相关语法和最佳实践,帮助读者理解并掌握在大数据量表中实现分页查询的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如需转载,请注明,谢谢!

--前面的数据
--过滤掉子查询的数据,取前几行的数据
--如果查询第二页,子查询的Top值 = 上一个分页查询的父Top的值 + 子查询的Top的值
SELECT TOP 2  * FROM [EFCoreTestDb].[dbo].[Student]
WHERE Id NOT IN (SELECT TOP 0
Id FROM [EFCoreTestDb].[dbo].[Student] order by ID)
order by ID

--后面的数据
--创建新的列RowNumber,此列从1开始,
--取值范围:闭区间
--BETWEEN:[1,2]
SELECT* FROM (
SELECT*,ROW_NUMBER() OVER (ORDER BY Id) AS RowNumber FROM [TableName] ) as b
where RowNumber BETWEEN 1 and 3

--2012之后的版本
--第一页:下标是从0开始,取3条记录,包括index是0
--第二页:下标是从3开始,
--规律:
--	每一页的起始位置:(PageIndex-1)* 3,既是offset的值
--取值范围:前闭后开
--[index,index+3-1)
select * from [TableName]   order by Id offset 0 row fetch next 3 row only
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值