Zeilen in der angegebenen Reihenfolge mithilfe der WHERE IN-Klausel abrufen
Beim Abfragen von Daten mithilfe der WHERE IN-Klausel werden die Zeilen normalerweise in aufsteigender Reihenfolge zurückgegeben Reihenfolge basierend auf dem in der Klausel angegebenen Feld. Es kann jedoch Fälle geben, in denen Sie die Zeilen in der genauen Reihenfolge abrufen müssen, in der sie in der WHERE-Klausel erscheinen.
Dies kann durch die Verwendung der Funktion ORDER BY FIELD erreicht werden. Die FIELD-Funktion gibt die Position eines angegebenen Werts in einer durch Kommas getrennten Liste zurück. Mithilfe dieser Funktion können Sie die Zeilen entsprechend der Reihenfolge der in der WHERE IN-Klausel aufgeführten Werte sortieren.
Beispiel:
Bedenken Sie die folgende Abfrage:
SELECT * FROM table WHERE id IN (118, 17, 113, 23, 72);
Diese Abfrage gibt die nach ID geordneten Zeilen in aufsteigender Reihenfolge zurück. Um die Zeilen in der in der IN-Klausel angegebenen Reihenfolge abzurufen, können wir die Abfrage wie folgt ändern:
SELECT * FROM table WHERE id IN (118, 17, 113, 23, 72) ORDER BY FIELD(id, 118, 17, 113, 23, 72)
Die Funktion ORDER BY FIELD benötigt zwei Parameter:
In diesem Fall sortieren wir die Zeilen nach dem ID-Feld und dem Werte in der durch Kommas getrennten Liste geben die Reihenfolge an, in der die Zeilen zurückgegeben werden sollen.
Mit der Funktion ORDER BY FIELD können Sie sicherstellen, dass die Zeilen genau in der in der WHERE IN-Klausel angegebenen Reihenfolge zurückgegeben werden .
Das obige ist der detaillierte Inhalt vonWie rufe ich Zeilen in einer bestimmten Reihenfolge mithilfe der WHERE IN-Klausel ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!