Heim > Datenbank > MySQL-Tutorial > Wie kann ich die Sortierreihenfolge in der ORDER BY-Klausel von MySQL für bestimmte Werte anpassen?

Wie kann ich die Sortierreihenfolge in der ORDER BY-Klausel von MySQL für bestimmte Werte anpassen?

Susan Sarandon
Freigeben: 2024-12-13 09:18:10
Original
470 Leute haben es durchsucht

How Can I Customize Sorting Order in MySQL's ORDER BY Clause for Specific Values?

Anpassen der Reihenfolge in MySQL ORDER BY-Klausel

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
Nach dem Login kopieren

Diese Abfrage gibt die Daten in der folgenden Reihenfolge zurück:

a, d, b, e, c, f usw.

Überlegungen:

  1. FIELD() kann reduzieren SQL-Portabilität, da andere DBMS dies möglicherweise nicht unterstützen.
  2. Für lange Wertelisten sollten Sie erwägen, eine separate Tabelle mit einer Sortierreihenfolgespalte zu erstellen und diese zur Sortierung mit der Abfrage zu verbinden.

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!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage