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