Heim > Datenbank > MySQL-Tutorial > Wie ordne ich MySQL-Ergebnisse zuerst mit einem bestimmten Feldwert an?

Wie ordne ich MySQL-Ergebnisse zuerst mit einem bestimmten Feldwert an?

Patricia Arquette
Freigeben: 2025-01-14 07:49:42
Original
893 Leute haben es durchsucht

How to Order MySQL Results with a Specific Field Value First?

Prioritätssortierung bestimmter Feldwerte in MySQL

In MySQL können Sie Datensätze mit bestimmten Feldwerten bevorzugt anzeigen. Wenn Ihre Tabelle beispielsweise ID-, Namens- und Prioritätsspalten enthält, möchten Sie möglicherweise Datensätze mit name="core" zuerst anzeigen, unabhängig von ihrer Priorität.

Sie können die FIELD-Funktion von MySQL verwenden, um dies zu erreichen:

Vollständige Sortierung aller Werte:

<code class="language-sql">SELECT id, name, priority
FROM mytable
ORDER BY FIELD(name, "core", "board", "other");</code>
Nach dem Login kopieren

Dadurch werden die Ergebnisse in der im FIELD()-Parameter angegebenen Reihenfolge sortiert, mit „Kern“ zuerst, „Board“ als nächstes und „Andere“ zuletzt.

Nur ​​„Kern“-Werte werden priorisiert:

Wenn Sie nur „Kern“ priorisieren möchten und sich nicht um die Reihenfolge der anderen Werte kümmern möchten:

<code class="language-sql">SELECT id, name, priority
FROM mytable
ORDER BY FIELD(name, "core") DESC;</code>
Nach dem Login kopieren

DESC-Reihenfolge stellt sicher, dass die „Kern“-Zeile an erster Stelle steht.

Benutzerdefinierte Sortierung und reguläre Sortierung kombinieren:

Alternativ können Sie die benutzerdefinierte Sortierung nach „Kern“ mit der regulären Sortierung nach anderen Feldern kombinieren:

<code class="language-sql">SELECT id, name, priority
FROM mytable
ORDER BY FIELD(name, "core") DESC, priority;</code>
Nach dem Login kopieren

Dadurch werden die „Kern“-Zeilen priorisiert und dann die verbleibenden Zeilen nach Priorität sortiert.

Hinweis:

  • Diese Funktion ist spezifisch für MySQL.
  • FIELD() gibt einen einsbasierten Index zurück, bei dem fehlende Werte zu Null führen.
  • DESC-Reihenfolge ist erforderlich, es sei denn, Sie geben alle möglichen Feldwerte an.

Das obige ist der detaillierte Inhalt vonWie ordne ich MySQL-Ergebnisse zuerst mit einem bestimmten Feldwert an?. 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