本文介绍了SQL Server 偏移量等效的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在 Windows Server 2008 上使用 SQL Server 2008 Enterprise.我想从前 11 名到前 20 名中选择结果(例如,我只对第 11 名到第 20 名结果感兴趣).任何想法如何有效地在 tsql 中编写此查询?
I am using SQL Server 2008 Enterprise on Windows Server 2008. I want to select result from top 11 to top 20 (e.g. I am only interested in the 11th to the 20th result). Any ideas how to write this query in tsql efficiently?
提前致谢,乔治
推荐答案
不幸的是,SQL Server 不提供任何类似于 MySQL 的 OFFSET
语法的东西.但是,您可能想尝试使用派生表,如下所示:
Unfortunately SQL Server does not offer anything similar to MySQL's OFFSET
syntax. However, you may want to try using a derived table as follows:
SELECT some_field
FROM (
SELECT some_field, ROW_NUMBER() OVER (ORDER BY some_id) AS rownum
FROM table
) AS t
WHERE t.rownum BETWEEN 11 AND 20
这篇关于SQL Server 偏移量等效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!