@musclecode

Как по порядку получить данные из бд?

Select * from tablename where model = 'A' or model = 'B'
при такой записи результат непредсказуемый, 'B' может найтись раньше 'А', в массиве располагаются так ['B', 'A'], а нужно ['A', 'B']
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
@bkosun
SELECT * FROM `table_name` WHERE `column_name` IN ('A', 'B', 'C') ORDER BY FIELD (`column_name`, 'A', 'B', 'C')


https://dev.mysql.com/doc/refman/8.0/en/string-fun...

SELECT * FROM `table_name` WHERE `column_name` IN ('A', 'B', 'C') ORDER BY FIND_IN_SET (`column_name`, 'A,B,C')


https://dev.mysql.com/doc/refman/8.0/en/string-fun...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@musclecode Автор вопроса
не знаю это эффективно или нет, но, вроде, удалось решить так:
select * from tablename where model = 'A' union select * from tablename where model = 'B',
нужно чтоб порядок нахождения был именно так как указано в запросе
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы