Heim >Datenbank >MySQL-Tutorial >Wie ordne ich MySQL-Ergebnisse mithilfe der IN()-Methode an und behalte die Reihenfolge bei?
MySQL-Sortierergebnisse mit der IN()-Methode
Beim Arbeiten mit einem PHP-Array, das geordnete ID-Nummern enthält, kann ein Abruf erforderlich sein die entsprechenden Datensätze aus einer MySQL-Datenbank unter Beibehaltung der angegebenen Reihenfolge. Dies kann mit der MySQL IN()-Methode erreicht werden. Die IN()-Methode behält jedoch normalerweise nicht die Reihenfolge der IDs im Ergebnis bei.
Lösung: Verwendung der FIELD()-Funktion
Um dieses Problem zu beheben , kann man die MySQL-Funktion FIELD() verwenden. Während die FIELD()-Funktion traditionell mit der String-Manipulation in Verbindung gebracht wird, kann sie auch effektiv mit Zahlen verwendet werden:
ORDER BY FIELD(field_name, 3,2,5,7,8,1)
In diesem Beispiel verwendet die ORDER BY-Klausel die FIELD()-Funktion, um die Ergebnisse basierend auf dem neu anzuordnen Die in den Klammern angegebene Reihenfolge stellt sicher, dass die zurückgegebenen Datensätze mit der Reihenfolge der IDs im PHP-Array übereinstimmen.
Zum Beispiel, wenn der Feldname die ID-Nummern in der folgenden Reihenfolge enthält: 9, 4, 5, 8, 3, das Ergebnis wird wie folgt sortiert:
4 - Article 4 9 - Article 9 5 - Article 5 8 - Article 8 3 - Article 3
Durch die Einbindung der FIELD()-Funktion in die ORDER BY-Klausel können Entwickler mithilfe der MySQL IN()-Funktion effektiv geordnete Ergebnisse abrufen. Methode, auch wenn mit numerischen ID-Werten gearbeitet wird.
Das obige ist der detaillierte Inhalt vonWie ordne ich MySQL-Ergebnisse mithilfe der IN()-Methode an und behalte die Reihenfolge bei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!