如何从SQL Server的y行之后选择数据前x个数据

Mon*_*RPG 9 sql-server select sql-server-2008

例如,我有一个包含10'000行的表.我想在前500行之后选择前100行.我怎样才能最有效地完成这项工作.

SQL Server 2008所需的查询


例如我已经有这个查询,但我想知道有没有更有效的解决方案

SELECT TOP 100 xx
FROM nn 
WHERE cc NOT IN 
   (SELECT TOP 500 cc
      FROM nn ORDER BY cc ASC)
Run Code Online (Sandbox Code Playgroud)

Rem*_*anu 14

教程25:有效地分析大量数据

with cte as (
 SELECT ...,
  ROW_NUMBER () OVER (ORDER BY ...) as rn
 FROM ...)
SELECT ... FROM cte 
WHERE rn BETWEEN 500 and 600;
Run Code Online (Sandbox Code Playgroud)


小智 9

Select T0P 600 * 
from my table
where --whatever condition you want
except
select top 500 * 
from mytable
where --whatever condition you want
Run Code Online (Sandbox Code Playgroud)