Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Aufrechterhaltung der Reihenfolge in der MySQL-IN-Abfrage

Wie die andere Antwort erwähnt:Die von Ihnen gepostete Abfrage enthält nichts darüber, in welcher Reihenfolge Ihre Ergebnisse angezeigt werden sollen, sondern nur, welche Ergebnisse Sie erhalten möchten.

Um Ihre Ergebnisse zu ordnen, würde ich ORDER BY FIELD():

verwenden
SELECT * FROM foo f where f.id IN (2, 3, 1)
ORDER BY FIELD(f.id, 2, 3, 1);

Die Argumentliste für FIELD kann eine variable Länge haben.