Możemy użyć FIND_IN_SET
w kolejności klauzuli, aby uzyskać wartości w takiej samej kolejności, jak ta.
SELECT `username` as users FROM usertable WHERE usr_id IN (54,68,46) ORDER BY FIND_IN_SET(`usr_id`,"54,68,46")
Ale nie wiem, jak GROUP_CONCAT
w tej samej kolejności. Jeśli ktoś udzieli na to odpowiedzi w tak prosty sposób, mogę ją zaakceptować.