Я не могу понять, как выбрать предыдущую / следующую строку, если в текущей строке нет числовых идентификаторов.
С числовым значением я всегда использую 2 запроса:
SELECT min(customer_id)
FROM customers
WHERE `customer_id` < 10
GROUP BY customer_status
ORDER BY customer_name ASC
LIMIT 1;
SELECT max(customer_id)
FROM customers
WHERE `customer_id` > 10
GROUP BY customer_status
ORDER BY customer_name DESC
LIMIT 1;
Однако у меня больше нет «customer_id», а только «customer_name». Когда я запрашиваю БД и сортирую по этому столбцу, я получаю:
Ab
Bb
Cc
Dd
Ee
Давайте предположим, что моего текущего покупателя зовут "Копия". Я хочу иметь возможность выбрать «Bb» и «Dd» из БД. Как? :)