Тема: MySQL сортування адреси ([вулиця] [,] [номер будівлі])
В таблиці є поле address в якому прописується адреса (Наукова, 116б; Володимира Великого, 2; Мазепи, 3а; тощо). Сортую адресу:
SELECT address
FROM objects
ORDER BY address COLLATE utf8_unicode_ci;
Начебто все добре по алфавіту, але проблема з номерами будівель:
...
Володимира Великого, 125
Володимира Великого, 20
Володимира Великого, 32а
...
Приходиться робити ось такий запит, але вигляд цього запиту лякає, чи можна, якось гарніше зробити запит
P.S. Змінювати таблицю неможу.
SELECT address
FROM objects
ORDER BY
SUBSTRING_INDEX(address, ',',1) COLLATE utf8_unicode_ci,
cast(SUBSTRING_INDEX(address, ',',-1) AS unsigned);
...
Володимира Великого, 20
Володимира Великого, 32а
Володимира Великого, 125
...