Reihen nach WHERE IN-Klausel unter Verwendung von ORDER BY FIELD anordnen
In Datenbankabfragen können Sie mit der WHERE IN-Klausel Daten basierend auf filtern eine spezifizierte Liste von Werten. Standardmäßig haben die zurückgegebenen Zeilen jedoch möglicherweise nicht die in der Klausel angegebene Reihenfolge.
Um die Zeilen gemäß der in der WHERE IN-Klausel angegebenen Reihenfolge zu ordnen, können Sie ORDER BY FIELD( ) Funktion. Diese Funktion benötigt zwei Argumente:
Zum Beispiel bei der folgenden Abfrage:
SELECT * FROM table WHERE id IN (118, 17, 113, 23, 72);
Die die Zeilen in aufsteigender Reihenfolge nach ID zurückgibt, können Sie die Funktion ORDER BY FIELD() verwenden, um die zu erhalten Zeilen in der in der WHERE IN-Klausel angegebenen Reihenfolge:
SELECT * FROM table WHERE id IN (118, 17, 113, 23, 72) ORDER BY FIELD(id, 118, 17, 113, 23, 72)
In dieser Abfrage sortiert die Funktion ORDER BY FIELD() die Zeilen nach dem ID-Feld, jedoch in der spezifischen Reihenfolge 118, 17, 113 , 23 und 72, wie in der WHERE IN-Klausel angegeben.
Mit dieser Technik können Sie Zeilen einfach entsprechend der in Ihrer WHERE IN-Klausel angegebenen Reihenfolge anordnen und so sicherstellen, dass sie in der gewünschten Reihenfolge zurückgegeben werden.
Das obige ist der detaillierte Inhalt vonWie ordne ich Zeilen basierend auf der Reihenfolge in einer WHERE IN-Klausel an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!