SQL Server中分页的实现方式有几种
发布时间:2024-01-01 14:00:24 所属栏目:MsSql教程 来源:DaWei
导读: 很多朋友都对“SQL Server中分页的实现方式有几种,分别是什么”的内容比较感兴趣,对此小编整理了相关的知识分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获,那么感
很多朋友都对“SQL Server中分页的实现方式有几种,分别是什么”的内容比较感兴趣,对此小编整理了相关的知识分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获,那么感兴趣的朋友就继续往下看吧! 方法一:(最常用的分页代码, top / not in) SELECT TOP 3 [SalesOrderID], [RevisionNumber], [OrderDate] FROM [AdventureWorks2012].[Sales].[SalesOrderHeader] WHERE [SalesOrderID] NOT IN ( SELECT TOP 15 [SalesOrderID] FROM [AdventureWorks2012].[Sales].[SalesOrderHeader] ORDER BY [SalesOrderID] ) ORDER BY SalesOrderID; 备注: 注意前后的order by 一致 方法二:排名开窗函数 (row_number() over (order by )) SELECT [SalesOrderID], [RevisionNumber], [OrderDate] FROM ( SELECT [SalesOrderID], [RevisionNumber], [OrderDate] , ROW_NUMBER() OVER ( ORDER BY SalesOrderID ) AS rowid FROM [AdventureWorks2012].[Sales].[SalesOrderHeader] ) cte WHERE rowid BETWEEN 16 AND 18; 方法三:(offset /fetch next, SQL Server 2012支持,性能最好!) SELECT [SalesOrderID], [RevisionNumber], [OrderDate] FROM [AdventureWorks2012].[Sales].[SalesOrderHeader] ORDER BY SalesOrderID OFFSET 15 ROW FETCH NEXT 3 ROWS ONLY; 总结:利用变量进行分页 DECLARE @page INT, @size INT, @Total INT; SELECT @page = 3, @size = 10; --当前页面为3,页面大小为10 -------方法一 SELECT TOP ( @size ) [SalesOrderID], [RevisionNumber], [OrderDate] FROM [AdventureWorks2012].[Sales].[SalesOrderHeader] WHERE [SalesOrderID] NOT IN ( SELECT TOP (( @page - 1 ) * @size ) [SalesOrderID] FROM [AdventureWorks2012].[Sales].[SalesOrderHeader] ORDER BY [SalesOrderID] ) ORDER BY SalesOrderID; -------方法二 SELECT [SalesOrderID], [RevisionNumber], [OrderDate] FROM ( SELECT [SalesOrderID], [RevisionNumber], [OrderDate] , ROW_NUMBER() OVER ( ORDER BY SalesOrderID ) AS rowid FROM [AdventureWorks2012].[Sales].[SalesOrderHeader] ) cte WHERE rowid BETWEEN ( @page - 1 ) * @size + 1 AND @page * @size; -------方法三 SELECT [SalesOrderID], [RevisionNumber], [OrderDate] FROM [AdventureWorks2012].[Sales].[SalesOrderHeader] ORDER BY SalesOrderID OFFSET ( @page - 1 ) * @size ROWS FETCH NEXT @size ROWS ONLY; ---offset的当前页面是从零开 到此这篇关于“SQL Server中分页的实现方式有几种,分别是什么”的文章就介绍到这了,更多相关SQL Server中分页的实现方式有几种,分别是什么内容,小编将为大家输出更多高质量的实用文章! (编辑:保山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server – 如何在SQL Server中附加数据库?
- 数据库 – 如何在“菱形”关系系统中保持外键关系的一致性
- sql-server – SQL Server PDF全文搜索无法在FileStream PD
- 是否有任何与SQL相同的Cassandra查询:LIKE Con??dition?
- 如何在LINQ-To-SQL中手动设置标识字段(IDENTITY INSERT)
- sql-server – 全文索引维护指南
- 安全基础:黑客扫描特征 十种最易受攻击端口
- sql-server – 执行计划基础 – 哈希匹配混乱
- sql-server – 为什么同时使用TRUNCATE和DROP?
- 从一列复制到另一列(不同的表相同的数据库)mysql
推荐文章
站长推荐