mySQLでIDの周りのIDを取得する必要があります。
例:
表のID:
2, 4, 5, 9, 11, 15, 19, 22, 25
たとえば、ID9の周りの5つのIDを知る必要があります。クエリは次を返す必要があります。
4, 5, 9, 11, 15
ありがとう!
考えられる解決策は
SQLステートメント
SELECT ABS(ID - 9), *
FROM MyTable
ORDER BY
ABS(ID - 9)
LIMIT 5
編集 (このソリューションで発生する可能性のある欠陥を指摘するためのthxから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