Verwenden der FIELD-Funktion zum Sortieren von Ergebnissen nach IN()-Reihenfolge
In MySQL kann die ORDER BY-Klausel zum Sortieren von Abfrageergebnissen verwendet werden aufsteigende oder absteigende Reihenfolge. Bei Verwendung der IN()-Methode kann es schwierig sein sicherzustellen, dass die Ergebnisse in derselben Reihenfolge zurückgegeben werden wie die IDs in der IN()-Klausel. Glücklicherweise gibt es eine Lösung: die FELD-Funktion.
Die FELD-Funktion benötigt zwei Parameter: einen Feldnamen und eine Werteliste. Es gibt den Index des ersten Werts in der Liste zurück, der mit dem Feldwert übereinstimmt. Die folgende Abfrage würde beispielsweise die Werte 1, 2, 3 für die Spalte „id“ für Zeilen zurückgeben, in denen der Wert 3, 2 oder 1 ist:
SELECT id, FIELD(id, 3, 2, 1) AS ordering FROM table_name;
Um die Ergebnisse nach zu ordnen IN()-Reihenfolge übergeben Sie einfach die IN()-Klauselwerte als zweiten Parameter an die FIELD-Funktion:
SELECT id, FIELD(id, 4, 7, 3, 8, 9) AS ordering FROM table_name;
Dadurch werden die Ergebnisse in der Reihenfolge zurückgegeben angegeben:
4 - Article 4 7 - Article 7 3 - Article 3 8 - Article 8 9 - Article 9
Das obige ist der detaillierte Inhalt vonWie ordne ich MySQL-Ergebnisse mithilfe der FIELD-Funktion nach der Reihenfolge der IN()-Klauseln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!