MYSQL:获取特定ID的后100个和前100个ID

标签 mysql mariadb

对于给定的 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/

相关文章:

python - SQL查询在MariaDB控制台中有效,但在python pymysql中无效

sql - MariaDB 创建 View 将 SELECT 更改为不同的(不正确的)查询

mysql - 如何使用带有逗号分隔值的字符串加入?

php - PHP + Mysql(UTF-8)某些字符仍然存在错误

php - 连接 3 个表并匹配空条目

mysql - MariaDB mysqlslap 不工作

MySql 最大内存过高,仍要求增加

mysql - MariaDB AUTO_INCREMENT 跳转到最大(无符号)int

javascript - 在 React.js Web 应用程序中将数据发送到数据库

mysql - 根据一个月中的某一天对数据进行分组和求和