您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

用mysql选择围绕id的行之前和之后

用mysql选择围绕id的行之前和之后

一个可能的解决方案是

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 2022/1/1 18:37:20 有445人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶