Я пытаюсь выполнить запрос, который вытягивает ближайший идентификатор к текущему, на основе другого запроса.
У меня есть таблица пригородов в городе, и я хочу отобразить 2 вверх и 2 вниз, но в том же городе моя таблица такова:
id | suburb_name | region
1 | Caloundra | Sunshine Coast
2 | Currimundi | Sunshine Coast
3 | Bribie Island | Morton Bay
4 | Caboolture | Morton Bay
5 | Golden Beach | Sunshine Coast
Поскольку я не мог потрудиться привести больше примеров, просто go 1 вверх 1 вниз. В настоящее время мы находимся на id 2. Если я смотрю 1, я вижу Мортон Бэй, что неправильно. Мне нужно увидеть идентификатор 5. Какой следующий идентификатор с тем же регионом?
Это совершенно неправильно, но это то, как далеко я нахожусь:
SELECT
slug
, suburb_name
, (SELECT location_id FROM rh_suburbs WHERE region = '$sub_region') as suburbs
FROM rh_suburbs
WHERE location_id in ($plus_one, $plus_two, $minus_one, $minus_two)
AND status = '1'
AND location_id != '$current'
LIMIT 4