【发布时间】:2010-12-17 23:20:40
【问题描述】:
我如何限制查询结果(在我的情况下大约为 60K 行)并仅从 X 行到 Y 行进行选择?
如果我使用 ROW_NUMBER(),我不喜欢我的查询,因为它涉及 2 个选择查询 .. 一个用于返回行,一个用于选择我需要的部分
更新:
这是我现在使用的查询:
SELECT *
FROM (
SELECT row_number() OVER (ORDER BY E.LastChangeDate DESC) AS row, E.*, U.[DisplayName] AS EntryCreatorDisplayName, U.[Email] AS EntryCreatorEmail
FROM entries e
INNER JOIN
users u
ON e.fk_user= u.id
WHERE e.EntryRank = 2
AND u.Administrator = 1
) as TableWithRows
WHERE (row >= 31 AND row <= 60)
【问题讨论】:
-
表格中是否有标识列?
-
MS SQL 2005,是的,我有一个标识列,因为我在选择中的仲裁字段上有一个订单
标签: sql-server sql-server-2005 tsql pagination