@BuTOC_90

Как выполнить SELECT к MySQL по нескольким значениям с сохранением порядка?

всем привет

подскажите пожалуйста, как выполнить SELECT к MySQL по нескольким значениям с сохранением порядка?

делаю как SELECT * FROM cards WHERE id_card IN (6,9,1)

и получаю значения в таком порядке, как они расположены в базе

то есть 1,6,9

а хотелось бы 6,9,1

можно ли как то это осуществить?)

спасибо заранее
  • Вопрос задан
  • 971 просмотр
Решения вопроса 1
@Arik
Как вариант
$ids = [6, 9, 1];

$idsString = implode(',', $ids);

$sql = "SELECT * FROM `cards` WHERE `id_card` IN ($idsString) ORDER BY FIELD (`id_card`, $idsString)";
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
VladimirAndreev
@VladimirAndreev
php web dev
select t.id
from cards t
where t.id_card in (6,9,1)
order by find_in_set(t.id_card, '6,9,1')
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы