Другой способ сохранения исходного порядка при выполнении SQL запроса - добавление дополнительного столбца, который будет хранить порядковый номер для каждого номера.
SELECT table.*,
CASE
WHEN id = 7 THEN 1
WHEN id = 8 THEN 2
WHEN id = 5 THEN 3
WHEN id = 4 THEN 4
WHEN id = 1 THEN 5
END AS order_number
FROM table
WHERE id IN (7, 8, 5, 4, 1)
ORDER BY order_number;
В этом примере мы добавляем столбец "order_number" с помощью функции CASE, где каждому номеру указывается соответствующий порядковый номер. Затем мы сортируем результаты по этому столбцу "order_number". Это также позволит вам сохранить исходный порядок номеров.