Ergebnisse nach Werten in der MySQL-„IN“-Klausel sortieren
In einer „IN“-Klauselanweisung in MySQL werden Ergebnisse normalerweise in einer zurückgegeben ungeordnete Weise. Es gibt jedoch Möglichkeiten, die Ergebnisse basierend auf den in der Klausel angegebenen Werten zu ordnen.
Verwendung der FIELD()-Funktion
Ein Ansatz besteht darin, die FIELD( )-Funktion, die die Position eines angegebenen Werts in einer Liste zurückgibt. Mithilfe dieser Funktion können Sie die Ergebnisse manuell in der gewünschten Reihenfolge sortieren. Die Syntax lautet wie folgt:
ORDER BY FIELD(column, value1, value2, ..., valueN)
Beispiel
Betrachten Sie das folgende Beispiel:
SELECT * FROM account_records WHERE id IN (5,2,6,8,12,1) ORDER BY FIELD(id,5,2,6,8,12,1);
In dieser Abfrage werden die Ergebnisse sein wird in der in den FIELD()-Funktionsargumenten angegebenen Reihenfolge zurückgegeben, bei denen es sich um die Werte in der „IN“-Klausel handelt.
Alternativ: Verwendung einer temporären Tabelle
Wie erwähnt , können Sie auch die Erstellung einer temporären Tabelle in Betracht ziehen, um die gewünschte Sortierung zu erreichen. Die Schritte würden umfassen:
Dieser Ansatz kann zwar eine vielseitigere Lösung bieten, ist jedoch im Vergleich zur einfachen Verwendung der FIELD()-Funktion weniger effizient Sortieranforderungen.
Das obige ist der detaillierte Inhalt vonWie ordne ich Ergebnisse in einer MySQL-„IN“-Klausel an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!