Heim >Datenbank >MySQL-Tutorial >Wie ordne ich Ergebnisse in derselben Reihenfolge wie die Werte der „IN'-Klausel in MySQL an?

Wie ordne ich Ergebnisse in derselben Reihenfolge wie die Werte der „IN'-Klausel in MySQL an?

Susan Sarandon
Susan SarandonOriginal
2024-11-03 18:25:03705Durchsuche

How to Order Results in the Same Sequence as `IN` Clause Values in MySQL?

Ergebnisse mithilfe einer „IN“-Klausel in MySQL ordnen

Bei der Auswahl von Daten aus einer großen Tabelle mithilfe einer „IN“-Klausel ist dies der Fall Oft ist es wünschenswert, die Ergebnisse in der gleichen Reihenfolge wie die angegebenen Werte anzuordnen.

Eine mögliche Lösung zur Aufrechterhaltung der Ordnung besteht darin, eine temporäre Tabelle zu erstellen und einen Join durchzuführen. Diese Methode kann jedoch für große Datensätze ineffizient sein.

Ein effizienterer Ansatz besteht darin, die FIELD()-Funktion von MySQL innerhalb der ORDER BY-Klausel zu verwenden. Die folgende Abfrage demonstriert diese Technik:

SELECT * FROM your_table
WHERE id IN (5,2,6,8,12,1)
ORDER BY FIELD(id,5,2,6,8,12,1);

Die Funktion FIELD() gibt die Position eines Werts innerhalb einer angegebenen Liste zurück. Durch die Verwendung in der ORDER BY-Klausel werden die Ergebnisse in derselben Reihenfolge sortiert wie die in der „IN“-Klausel aufgeführten Werte.

Diese Lösung bietet eine effiziente Möglichkeit, die Reihenfolge bei der Auswahl von Daten mithilfe einer „ IN“-Klausel, insbesondere für große Datensätze.

Das obige ist der detaillierte Inhalt vonWie ordne ich Ergebnisse in derselben Reihenfolge wie die Werte der „IN'-Klausel in MySQL 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