Possiamo usare FIND_IN_SET
in ordine per clausola per ottenere i valori nello stesso ordine in questo modo.
SELECT `username` as users FROM usertable WHERE usr_id IN (54,68,46) ORDER BY FIND_IN_SET(`usr_id`,"54,68,46")
Ma non so come GROUP_CONCAT
nello stesso ordine. Se qualcuno dà la risposta in questo tipo di approccio semplice, posso accettare quella risposta.