Heim > Datenbank > MySQL-Tutorial > Wie kann ich die Reihenfolge der Ergebnisse in den „IN'-Abfragen von MySQL garantieren?

Wie kann ich die Reihenfolge der Ergebnisse in den „IN'-Abfragen von MySQL garantieren?

DDD
Freigeben: 2024-12-26 04:36:09
Original
546 Leute haben es durchsucht

How Can I Guarantee Result Order in MySQL's `IN` Queries?

Reihenfolge in MySQL „IN“-Abfrage beibehalten

Bei Verwendung des „IN“-Operators zum Filtern von Ergebnissen in einer MySQL-Abfrage wird die Reihenfolge von Die Ergebnisse stimmen möglicherweise nicht unbedingt mit der Reihenfolge der in der „IN“-Klausel angegebenen Werte überein. Dies liegt daran, dass MySQL die Reihenfolge der Ergebnisse standardmäßig nicht garantiert.

Um die Reihenfolge der Ergebnisse in einer „IN“-Abfrage beizubehalten, können Sie die folgenden Ansätze verwenden:

Verwenden der FIELD-Funktion

Mit der FIELD-Funktion kann die gewünschte Reihenfolge der Ergebnisse angegeben werden. Es verwendet eine durch Kommas getrennte Liste von Werten als zweites Argument und gibt die Position des übereinstimmenden Werts in der Liste zurück. Die folgende Abfrage würde beispielsweise Ergebnisse in der in der „IN“-Klausel angegebenen Reihenfolge zurückgeben:

SELECT * FROM foo f WHERE f.id IN (2, 3, 1) ORDER BY FIELD(f.id, 2, 3, 1);
Nach dem Login kopieren

Die Argumentliste für FIELD kann eine variable Länge haben, sodass Sie so viele Werte wie nötig angeben können.

Hinweis:

Die ORDER BY FIELD-Methode funktioniert für einfache Abfragen, bei denen die Werte in der „IN“-Klausel bekannt sind Vorauszahlung. Wenn die Werte jedoch dynamisch sind oder aus einer anderen Datenquelle abgerufen werden, ist diese Methode möglicherweise nicht geeignet.

Das obige ist der detaillierte Inhalt vonWie kann ich die Reihenfolge der Ergebnisse in den „IN'-Abfragen von MySQL garantieren?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage