Heim >Datenbank >MySQL-Tutorial >Wie ordne ich MySQL-Datensätze mithilfe von IN() nach einer bestimmten Reihenfolge an?

Wie ordne ich MySQL-Datensätze mithilfe von IN() nach einer bestimmten Reihenfolge an?

Barbara Streisand
Barbara StreisandOriginal
2024-11-16 00:06:03320Durchsuche

How to Order MySQL Records by a Specific Sequence Using IN()?

MySQL-Reihenfolge nach angegebener Reihenfolge mit IN()

Bei dieser Frage geht es darum, Datenbankeinträge in einer bestimmten Reihenfolge basierend auf einem Array von IDs abzurufen in PHP bereitgestellt. Die Herausforderung besteht darin, sicherzustellen, dass die Ergebnisse mit der Reihenfolge der IDs in der IN()-Methode übereinstimmen.

Um dies zu erreichen, verwendet die empfohlene Lösung die FIELD-Funktion. Obwohl FIELD in erster Linie für die String-Manipulation gedacht ist, funktioniert es auch nahtlos mit numerischen Werten. Durch den Einsatz der FIELD-Funktion in der ORDER BY-Klausel können Sie die gewünschte Reihenfolge der Datensätze explizit angeben.

Betrachten Sie beispielsweise die folgende SQL-Anweisung:

ORDER BY FIELD(field_name, 3,2,5,7,8,1)

In dieser Anweisung field_name stellt die Spalte dar, die die IDs enthält. Die Zahlen in Klammern geben die Reihenfolge an, in der die Datensätze abgerufen werden sollen. Wenn die Spalte „field_name“ die Werte (3,2,5,7,8,1) enthält, werden die Datensätze daher in der folgenden Reihenfolge zurückgegeben: 3, 2, 5, 7, 8, 1.

Das obige ist der detaillierte Inhalt vonWie ordne ich MySQL-Datensätze mithilfe von IN() nach einer bestimmten Reihenfolge an?. 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