Paging Query Using RowNumber Function

SQL Server 分页查询技巧
本文介绍了一种在 SQL Server 中进行高效分页查询的方法,使用 ROW_NUMBER() 函数配合 ORDER BY 子句来实现对记录按开始时间和创建时间排序后的分页查询。这种方法自 SQL Server 2005 版本起可用。
Although we have many ways to do paging query in SQL Server (with 'not exist', 'not in'), SQL Server provide an inner function to help us to do paging query after SQL Server 2005. Below is a very simple example.

Conditions
1.We have a Table1,
2.We want to do paging query on records order by start time then by create time.
3.We'd like to query records between startIndex and endIndex.



SELECT * FROM (
SELECT ROW_NUMBER() OVER (ORDER BY [t0].StartTime desc, [t0].CreateTime desc )
AS [ROW_NUMBER], [t0].*
FROM table1 AS [t0])
AS [t1]
WHERE [t1].[ROW_NUMBER] BETWEEN {startIndex} AND {endIndex}
ORDER BY [t1].[ROW_NUMBER];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值