Порядок выборки

Подскажите пожалуйста
Как сохранить порядок выборки при условии IN()?
$spec=“4672, 4591, 4607, 4650”;

$str = “SELECT * FROM th WHERE tid in (”.$spec.")";

Есть ли аналог или может как то можно реализовать подобное ORDER BY FIND_IN_SET() , ORDER BY FIELD()

order by id ASC ?

может быть можно было бы сделать SET GLOBAL @myfilter=(2,3,5,7,11,13);

SELECT * FROM test1 WHERE group_id IN @myfilter order by @myfilter;

но пока только работает

SELECT * FROM test1 WHERE group_id IN @myfilter;

и вы можете создать PR на GitHub чтобы быть в курсе прогресса по тикету

или же вы можете сделать UDF функцию, куда передавать список для сортировки и текущий документ и сортировать по этому значению

SELECT *, mysort(id, ”.$spec.") as ord FROM th WHERE tid in (”.$spec.") ORDER BY ord ASC;