Heim >Datenbank >MySQL-Tutorial >Wie ordne ich MySQL-Ergebnisse mithilfe der IN()-Methode an und behalte die Reihenfolge bei?

Wie ordne ich MySQL-Ergebnisse mithilfe der IN()-Methode an und behalte die Reihenfolge bei?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-23 11:41:34980Durchsuche

How to Order MySQL Results Using the IN() Method and Maintain Order?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn