例如,我的表中有 10.000 条记录。每次执行查询时,我都会将页码n
作为参数。而且我必须从n
to中选择n*100
满足一些复杂条件的记录。我也使用ORDER BY
,所以我不能保留最后一个元素并使用主键PrimaryKey
选择顶部记录。n
我怎样才能做到这一点?
问问题
724 次
2 回答
4
在 Page 计算的基础上,在下面的查询中传递 From 和 To 参数的值。
WITH NumberedMyTable AS
(
SELECT
*,
ROW_NUMBER() OVER (ORDER BY Id) AS RowNumber
FROM
MyTable
)
SELECT
*
FROM
NumberedMyTable
WHERE
RowNumber BETWEEN @From AND @To
于 2012-05-15T13:20:57.510 回答
1
declare @n int
set @n=2
with my_query as(
select ROW_NUMBER() over (order by name) as ID, *
from sys.tables
)
select *
from my_query
where ID >=@n and ID<=(@n*10)
于 2012-05-15T13:26:27.900 回答