Utilisez la fonction CHAMP :-
SELECT *
FROM articles
WHERE article.category IN (1, 57, 67, 78)
ORDER BY FIELD(article.category, 1, 67, 78, 57)
EDIT - S'il n'est pas trouvé, il renverra 0, donc si vous voulez que 2 valeurs soient triées en premier, ayez peut-être juste ces 2 dans la fonction mais inversées et triées par ordre décroissant.
SELECT *
FROM articles
WHERE article.category IN (1, 57, 67, 78)
ORDER BY FIELD(article.category, 67, 1) DESC
Cela mettra la catégorie 1 en premier, la catégorie 67 ensuite, suivie de toutes les autres