扫码阅读
手机扫码阅读

盘点现在用的SqlServer 5种分页方式和拉姆达表达式分页,快来看看吧

28 2025-03-20

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:盘点现在用的SqlServer 5种分页方式和拉姆达表达式分页,快来看看吧
文章来源:
熊泽有话说
扫码关注公众号
文章摘要

SQL分页查询方法总结

文章总结了几种SQL分页查询的方法,每种方法的推荐程度不同,部分方法仅适用于特定版本的SQL Server。

1、ROW_NUMBER() OVER()方式

这种方法适用于SQL Server 2005及以上版本,通过在子查询中添加行号实现分页,适用于SQL2012以下版本。示例代码演示了如何根据页码和每页大小执行查询,但需注意OVER子句中可以包含多个排序字段。

2、offset fetch next方式

适用于SQL Server 2012及以上版本,这是最高效的分页查询方式。它通过跳过指定数量的行,然后获取接下来指定数量的行来实现分页。必须与ORDER BY子句一起使用,否则会报错。

3、top not in方式

通过先查询一定数量的记录ID,然后查询不在这些ID中的记录来实现分页,但这种方法效率低下,不推荐使用。

4、通过升序与降序方式进行查询分页

通过先进行升序查询,然后倒序查询,并最终进行升序排序来实现分页。这种方法复杂,效率也不高,不推荐使用。

5、采用MAX(ID)或者MIN(ID)函数

这种方法首先查找特定记录的ID,然后查询ID大于此记录ID的数据来实现分页。不过,这种方法在处理边界值时需要注意,同样不推荐使用。

6、Lambda表达式分页

除了SQL查询外,还可以在代码中使用Lambda表达式进行分页,这种方法简洁高效,特别是在操作列表数据时。

综上,作者推荐的分页查询方法按优先级排序为:offset fetch next > lambda > ROW_NUMBER() OVER(),其他方法则不推荐。这些方法可以与存储过程结合使用以实现分页功能。

想要了解更多内容?

查看原文:盘点现在用的SqlServer 5种分页方式和拉姆达表达式分页,快来看看吧
文章来源:
熊泽有话说
扫码关注公众号