У меня есть этот запрос MySql:
SELECT * FROM `tbl_prods`
WHERE `id` IN ('58', '169', '166', '496', '24', '28')
ORDER BY FIND_IN_SET(`id`, '58, 169, 166, 496, 24, 28')
результат выглядит странно:
24
28
166
169
496
58
Я не могу понять, как вернуть точный порядок с помощью FIND_IN_SET
любые идеи, в которых я ошибаюсь?
Используйте FIELD
вместо FIND_IN_SET
SELECT * FROM `tbl_prods`
WHERE `id` IN ('58', '169', '166', '496', '24', '28')
ORDER BY FIELD(`id`, '58', '169', '166', '496', '24', '28')
У вас не должно быть пробелов в
'58, 169, 166, 496, 24, 28'
Измените его на
'58,169,166,496,24,28'