选择顶部的变化n

时间:2010-06-26 08:23:17

标签: sql-server

是否可以选择前n行的变体来从0以外的行开始选择前n行。 我的(移动)应用程序资源有限,无法提供服务器端缓存。返回的最大行数是100.我通过select top 100获得前100个。然后我希望用户能够请求行101-200,依此类推。数据库数据是静态的,重新查询时间可以忽略不计。 平台SQL Server 2008

2 个答案:

答案 0 :(得分:2)

Here's an article使用ROW_NUMBER函数演示此类查询。

答案 1 :(得分:2)

;With CTETable AS
(
  SELECT ROW_NUMBER() OVER (ORDER BY Column_Name DESC) AS ROW_NUM, * FROM TABLENAME WHERE <CONDITION>
)

SELECT Column_List FROM CTETable WHERE ROWN_NUM BETWEEN <StartNum> AND <EndNum>

使用你的[startNum]和[EndNum]成为你想要的任何系列123 - 147!这样会很好用!