Как правильно установить ORDER при выборе несколько записей из базы с помощью in?

Ссылка скопирована
1 ответ

Драститие, указывают список id так и получаю данные из базы, но он сортируется по id а не по списку который я указал там.
SELECT * FROM `persons` WHERE id in (2, 5, 1)
Порядок указал так 2, 5, 1. А он выдает мне по порядку 1, 2, 5 можно ли это исправить ?

Дополнительно:

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Анна SEO Ответ

Для правильного установления порядка при выборе нескольких записей из базы данных с помощью оператора IN в SQL запросе, необходимо использовать дополнительное поле для сортировки результатов.

Пример SQL запроса с использованием оператора IN и сортировкой:

SELECT * FROM table_name WHERE id IN (1, 2, 3) ORDER BY FIELD(id, 2, 1, 3);

SELECT * FROM table_name WHERE id IN (1, 2, 3) ORDER BY FIELD(id, 2, 1, 3);

В данном примере мы выбираем записи из таблицы table_name, у которых id равен 1, 2 или 3, и сортируем их по порядку значений в операторе IN.

Функция FIELD() используется для указания порядка значений в сортировке. Первым аргументом передается поле, по которому нужно сортировать, в данном случае id, а затем идут значения в порядке, в котором мы хотим отсортировать записи.

Таким образом, используя оператор IN и функцию FIELD(), вы сможете правильно установить порядок при выборе нескольких записей из базы данных. Не забывайте также про индексацию полей, чтобы ускорить выполнение запроса.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно