Sql server SQL Server 2008 R2中使用偏移量(分页)进行选择查询的正确方法

Sql server SQL Server 2008 R2中使用偏移量(分页)进行选择查询的正确方法,sql-server,pagination,sql-server-2008-r2,Sql Server,Pagination,Sql Server 2008 R2,我想用偏移量从视图中选择数据进行分页,并按注册日期排序 我有下面的代码示例 SELECT student_id,student_name FROM student WHERE student_id IN( SELECT TOP 15 student_id FROM student( SELECT ROW_NUMBER() OVER (ORDER BY register_da

我想用偏移量从视图中选择数据进行分页,并按注册日期排序

我有下面的代码示例

SELECT student_id,student_name 
FROM student 
WHERE student_id IN(
                 SELECT TOP 15 student_id 
                 FROM student(
                         SELECT ROW_NUMBER() OVER (ORDER BY register_date_time DESC) AS rowNo,student_id
                         FROM student
                        ) tb_pagination WHERE rowNo > 30
                 )
我的代码运行正常,但从服务器到客户端的请求响应太慢

有人能告诉我如何做得更好吗?

试试这个:

SELECT student_id,student_name 
FROM (
        SELECT ROW_NUMBER() over (ORDER BY register_date_time DESC) AS rowNo, 
        student_id, 
        student_name
        FROM student
    ) tb_pagination
WHERE rowNo > 30 
AND rowNo < 45