У меня проблема с упорядочением моей таблицы за строкой с массивом цен. Ниже пример строки:MySQL порядок по первому элементу массива в строке
1) ;100
2) ;50
3) ;50;100;300
4) ;30;150
Я хочу заказать на первый элемент массива. Когда я заказываю по цене строк ASC я получаю:
1) ;100
2) ;30;150
3) ;50
4) ;50;100;300
Это неправильный результат, потому что «100» должен быть последним ... я попробовал:
ORDER BY CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(`price`, ';', 2), ';', 1) AS INT(3) ASC
Но все-таки не так ... Любые ключ к разгадке?
вы должны нормализовать дизайн вашего стола, что повлечет за собой эту проблему. –
Я не могу изменить структуру этой базы ... Любая идея улучшить ORDER? –