对于给定的 ID,我想设置一个查询,该查询会为我提供下一个 100 个和 100 个上一个 ID。
这听起来很基本,但问题是,ID 不连续。所以他们可以像3, 6, 10, 11, ...
这样
我的第一个想法是创建一个像这样的查询(假设我想要 id 100):
Select * from mytable where id > 200 AND id < 400
但显然这在 ID 不连续的情况下不起作用。
我使用的是 10.1.41 MariaDB。
最佳答案
如果您使用mysql v8.0。您可以考虑使用row_number()
。
select * from
(select *, row_number() over (order by id) as rn from tableA) t1 where rn between 200 and 300
关于MYSQL:获取特定ID的后100个和前100个ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59167938/