首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取用于分页的指定范围内的行

获取用于分页的指定范围内的行
EN

Stack Overflow用户
提问于 2013-06-27 20:40:48
回答 3查看 372关注 0票数 1

我正在尝试写一个查询来实现分页,我的基本要求是我需要一个查询,在这个查询中,我可以给出返回的最小和最大行数范围,例如,对于页面1,我需要从1- 10到11-20的记录,以此类推。

通过一些帮助,形成互联网,在这里,我已经写下了以下查询,但它并不是真的工作,它应该返回给我一个大的总行,无论范围是什么(可能我在查询中遗漏了一些连接)

代码语言:javascript
复制
SELECT b.id,b.title,b.name
FROM (
    SELECT ROW_NUMBER() OVER(ORDER BY (select NULL as noorder)) AS RowNum, * 
    FROM [student] b
) as alias,[student] b,[class] c
WHERE b.[status]=1 
AND c.id=b.class 
AND c.name='Science' 
AND RowNum BETWEEN 1 AND 5
ORDER BY b.dtetme DESC

我在修理的时候迷路了,有人能指出一下错误吗?谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-06-27 20:48:21

你的整个查询逻辑+ ROW_NUMBER应该放在子查询中。您只使用外部WHERE进行分页。

ROW_NUMBER必须具有要在其上实现分页的ORDER BY

代码语言:javascript
复制
SELECT  a.id ,
        a.title ,
        a.name
FROM    
   ( 
        SELECT ROW_NUMBER() OVER (ORDER BY b.dtetme DESC) AS RowNum, b.*
        FROM  [student] b 
        INNER JOIN [class] c ON  c.id = b.class
        WHERE b.[status] = 1
        AND c.name = 'Science'
    ) a
WHERE RowNum BETWEEN 1 AND 10 -- change numbers here for pages
ORDER BY t.RowNum
票数 1
EN

Stack Overflow用户

发布于 2013-06-27 20:48:54

我认为问题出在FROM中添加了[student] b,请尝试将连接移动到子查询中。

代码语言:javascript
复制
SELECT a.id, a.title, a.name
FROM (
    SELECT ROW_NUMBER() OVER(ORDER BY (select NULL as noorder)) AS RowNum, * 
    FROM [student] b
    JOIN [class] c ON c.id = b.class
    WHERE b.[status]=1 
    AND c.name='Science' 
) as a
WHERE a.RowNum BETWEEN 1 AND 5
ORDER BY a.dtetme DESC

此外,您可能希望考虑将其包装在过程或函数中,以便可以更改范围。

票数 1
EN

Stack Overflow用户

发布于 2013-06-27 20:50:25

看起来你想要这样的东西:

代码语言:javascript
复制
SELECT t.id,t.title,t.name FROM (
    SELECT s.id,s.title,s.name, RowNum = ROW_NUMBER() OVER(ORDER BY s.dtetme DESC)
    FROM student s
    INNER JOIN class c ON c.id = s.class
    WHERE s.[status]=1 AND c.name='Science' ) AS t
WHERE t.RowNum BETWEEN 1 AND 5
ORDER BY t.RowNum
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17343471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档