„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann man die Reihenfolge der Werte in MySQLs "In" -Anterfrage behalten?

Wie kann man die Reihenfolge der Werte in MySQLs "In" -Anterfrage behalten?

Gepostet am 2025-05-02
Durchsuche:671

How Can I Preserve the Order of Values in a MySQL `IN` Query?

Erhaltung der angegebenen Reihenfolge in mysql "in" queries

Wenn Sie Daten mit MySQL abfragen, können Sie "in" in "in" Operator aus auswählen, die auf einer Reihe von Werten basieren. Es ist jedoch wichtig anzumerken, dass das Standardverhalten dieser Abfragen die Reihenfolge der angegebenen Werte nicht beibehält.

Problem:

In einem Szenario, in dem Sie eine Tabelle mit einer automatisch-inkrementierten Primärschlüssel haben, können Sie die Ergebnisse des "Abschnitts" -Antaste auf der Grundlage des "Abkörners" -Entaste befinden. Dies kann problematisch sein, wenn Sie die Abfolge der Ergebnisse bewahren möchten.

Lösung:

Um die gewünschte Bestellung zu erreichen, können Sie die Funktion field () in Verbindung mit der Bestellung durch Klausel verwenden. Die Funktion field () weist Werte zu, die auf der Reihenfolge basieren, die sie in ihrer Argumentliste angezeigt werden. Hier ist ein Beispiel:

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

In dieser Abfrage gibt die Argumentliste von Field () die Sequenz an, in der die Ergebnisse angezeigt werden sollen. Die Bestellung nach Klausel sortiert die Ergebnisse basierend auf den von field () zugewiesenen Positionen. Argument): Position 2

1 (drittes Argument): Position 3

    Die Bestellung nach Klausel sortiert die Ergebnisse in aufsteigender Reihenfolge der Position, die durch Feld () zugewiesen wurden (). Dies kann besonders in Szenarien nützlich sein, in denen Sie mit geordneten Datensätzen zu tun haben oder wenn Sie bestimmte Beziehungen zwischen den Datensätzen aufrechterhalten möchten.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3