0

例如,我的表中有 10.000 条记录。每次执行查询时,我都会将页码n作为参数。而且我必须从nto中选择n*100满足一些复杂条件的记录。我也使用ORDER BY,所以我不能保留最后一个元素并使用主键PrimaryKey选择顶部记录。n我怎样才能做到这一点?

4

2 回答 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 回答