不使用limit x,x获取下10条记录

iqxoj9l9  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(385)

我正在尝试不使用这个结构来获取下10个记录

SELECT * FROM records LIMIT 3,10

我找到了另一种方法,可以得到同样的结果

SELECT * FROM records WHERE id > 3 LIMIT 10

但是我想基于列调用的目标值,而不是基于id列。
例如,获取此记录注解之后的下10条记录时忽略黄色边界

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

结果应该是这样的

3bygqnnd

3bygqnnd1#

获取记录的id html_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

相关问题