Запрос MySQL для возврата результатов в определенном порядке без заказа

Возможно ли сделать запрос mysql, возвращающий значения без заказа по умолчанию. Например, я использую следующий запрос

select id_product,name from sample where id_product in ('675','123','745','954'). 

но он дает порядок выходных строк id_product. ВЫВОД:

 id_product,Name 123 ,abc 675 ,xzy 745 ,bsh 954 ,dsh 

Я хочу, чтобы результат был таким, без указания по умолчанию.

  id_product,Name 675 ,xzy 123 ,abc 745 ,bsh 954 ,dsh 

любая помощь будет оценена по достоинству.

Solutions Collecting From Web of "Запрос MySQL для возврата результатов в определенном порядке без заказа"

Я предлагаю добавить столбец « Sort в базе данных, чтобы принудительно создать собственный заказ. Во всяком случае, вы можете использовать небольшой трюк, используя функцию FIND_IN_SET :

 SELECT id_product, name FROM sample WHERE id_product IN (675,123,745,954) ORDER BY FIND_IN_SET(id_product, '675,123,745,954') 

демонстрация

Всегда есть приказ. Если вы не укажете какое-либо конкретное использование ORDER BY тогда строки могут быть возвращены в том порядке, в котором они хранятся в базе данных.

Если вам нужен случайный порядок: «order by rand ()»;

Если вам нужен случайный порядок, вы можете сделать это:

 SELECT id_product,name FROM sample WHERE id_product IN ('675','123','745','954') ORDER BY NEWID() 

Возможно, вы id_product упорядоченный index в столбце id_product таблицы. Пожалуйста, проверь это.

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

См .: Создание индекса – MySQL