【问题标题】:Get the next 10 records without using LIMIT x,x在不使用 LIMIT x,x 的情况下获取接下来的 10 条记录
【发布时间】:2019-04-13 12:13:49
【问题描述】:

我正在尝试在不使用此结构的情况下获取接下来的 10 条记录

SELECT * FROM records LIMIT 3,10

我找到了另一种结果相同的方法

SELECT * FROM records WHERE id > 3 LIMIT 10

但我想基于列调用 html_id 的目标值而不是基于 id 列。

例如获取此记录注释之后的下 10 条记录忽略黄色边框

SELECT * FROM records WHERE html_id='i1481988552' /*The next 10 records after i1481988552 but how??*/

因此它应该看起来像这样

【问题讨论】:

    标签: mysql sql pagination


    【解决方案1】:

    用你想要的html_id 获取记录的 ID,然后使用它与其他记录的 ID 进行比较。

    SELECT *
    FROM records
    WHERE id > (SELECT id FROM records WHERE html_id = 'i1481988552')
    ORDER BY id
    LIMIT 10
    

    这也可以写成自联接:

    SELECT r1.*
    FROM records AS r1
    JOIN records AS r2 ON r1.id > r2.id
    WHERE r2.html_id = 'i1481988552'
    ORDER BY r1.id
    LIMIT 10
    

    【讨论】:

    • 哇,这就是我要找的东西,谢谢 Barmar,很抱歉我很忙,回复晚了。
    猜你喜欢
    • 1970-01-01
    • 2018-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多