gpt4 book ai didi

mysql - 使用mysql选择id前后的行

转载 作者:可可西里 更新时间:2023-11-01 06:31:50 24 4
gpt4 key购买 nike

我需要使用 mySQL 获取 ID 周围的 ID。

例子:

表中的ID:

2, 4, 5, 9, 11, 15, 19, 22, 25

例如,我需要知道 ID 9 周围的 5 个 ID。查询应返回:

4, 5, 9, 11, 15

谢谢!

最佳答案

一个可能的解决方案是

  • 计算每个 ID 减去您的 ID 的绝对值。
  • 对结果进行排序并将结果集限制为 5 条记录。

SQL语句

SELECT ABS(ID - 9), *
FROM MyTable
ORDER BY
ABS(ID - 9)
LIMIT 5

编辑 (感谢 ypercube 指出此解决方案中可能存在的缺陷)

如果意图是从左边获取2个id,从右边获取2个id,语句可以调整如下

SELECT * FROM MyTable WHERE ID <= 9 ORDER BY ID DESC LIMIT 3 
UNION ALL
SELECT * FROM MyTable WHERE ID > 9 ORDER BY ID ASC LIMIT 2

关于mysql - 使用mysql选择id前后的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10101606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com