Heim > Datenbank > MySQL-Tutorial > Wie ordne ich MySQL-Ergebnisse mithilfe der FIELD-Funktion nach der Reihenfolge der IN()-Klauseln?

Wie ordne ich MySQL-Ergebnisse mithilfe der FIELD-Funktion nach der Reihenfolge der IN()-Klauseln?

Susan Sarandon
Freigeben: 2024-11-17 13:59:02
Original
656 Leute haben es durchsucht

How to Order MySQL Results by IN() Clause Order using the FIELD Function?

Verwenden der FIELD-Funktion zum Sortieren von Ergebnissen nach IN()-Reihenfolge

In MySQL kann die ORDER BY-Klausel zum Sortieren von Abfrageergebnissen verwendet werden aufsteigende oder absteigende Reihenfolge. Bei Verwendung der IN()-Methode kann es schwierig sein sicherzustellen, dass die Ergebnisse in derselben Reihenfolge zurückgegeben werden wie die IDs in der IN()-Klausel. Glücklicherweise gibt es eine Lösung: die FELD-Funktion.

Die FELD-Funktion benötigt zwei Parameter: einen Feldnamen und eine Werteliste. Es gibt den Index des ersten Werts in der Liste zurück, der mit dem Feldwert übereinstimmt. Die folgende Abfrage würde beispielsweise die Werte 1, 2, 3 für die Spalte „id“ für Zeilen zurückgeben, in denen der Wert 3, 2 oder 1 ist:

SELECT id, FIELD(id, 3, 2, 1) AS ordering FROM table_name;
Nach dem Login kopieren

Um die Ergebnisse nach zu ordnen IN()-Reihenfolge übergeben Sie einfach die IN()-Klauselwerte als zweiten Parameter an die FIELD-Funktion:

SELECT id, FIELD(id, 4, 7, 3, 8, 9) AS ordering FROM table_name;
Nach dem Login kopieren

Dadurch werden die Ergebnisse in der Reihenfolge zurückgegeben angegeben:

4 - Article 4
7 - Article 7
3 - Article 3
8 - Article 8
9 - Article 9
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie ordne ich MySQL-Ergebnisse mithilfe der FIELD-Funktion nach der Reihenfolge der IN()-Klauseln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage