Beim Sortieren von Daten in MySQL können Sie mit der ORDER BY-Klausel die Sortierreihenfolge über die standardmäßigen aufsteigenden oder absteigenden Optionen hinaus anpassen. Eine häufige Herausforderung besteht darin, eine bestimmte Sortierpriorität für mehrere Werte innerhalb einer Spalte zu definieren.
Frage:
Bedenken Sie die folgende Tabelle:
ID | Language | Text |
---|---|---|
0 | ENU | a |
0 | JPN | b |
0 | DAN | c |
1 | ENU | d |
1 | JPN | e |
1 | DAN | f |
Wie können wir diese Tabelle nach Sprache (ERU zuerst, JPN zweitens, DAN zuletzt) und dann aufsteigend sortieren? ID?
Antwort:
MySQL bietet die FIELD()-Funktion, die benutzerdefinierte Sortierreihenfolgen ermöglicht. Es nimmt einen Wert und überprüft seine Position innerhalb einer angegebenen Liste. Mit dieser Funktion können wir die gewünschte Sortierpriorität wie folgt definieren:
ORDER BY FIELD(Language, 'ENU', 'JPN', 'DAN'), ID
Diese Abfrage gibt die Daten in der folgenden Reihenfolge zurück:
a, d, b, e, c, f usw.
Überlegungen:
Das obige ist der detaillierte Inhalt vonWie kann ich die Sortierreihenfolge in der ORDER BY-Klausel von MySQL für bestimmte Werte anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!