Verwenden Sie die FIELD-Funktion:-
SELECT *
FROM articles
WHERE article.category IN (1, 57, 67, 78)
ORDER BY FIELD(article.category, 1, 67, 78, 57)
BEARBEITEN - Wenn nicht gefunden, wird 0 zurückgegeben. Wenn Sie also 2 Werte zuerst sortieren möchten, haben Sie möglicherweise nur diese 2 in der Funktion, aber umgekehrt und absteigend sortiert.
SELECT *
FROM articles
WHERE article.category IN (1, 57, 67, 78)
ORDER BY FIELD(article.category, 67, 1) DESC
Dadurch wird Kategorie 1 zuerst gesetzt, Kategorie 67 danach, gefolgt von allen anderen