Heim > Datenbank > MySQL-Tutorial > Wie priorisiere ich Zeilen mit einem bestimmten Wert und sortiere sie dann in SQL alphabetisch?

Wie priorisiere ich Zeilen mit einem bestimmten Wert und sortiere sie dann in SQL alphabetisch?

Barbara Streisand
Freigeben: 2025-01-01 03:07:09
Original
558 Leute haben es durchsucht

How to Prioritize Rows with a Specific Value Then Sort Alphabetically in SQL?

Zeilen mit einem bestimmten Wert zuerst zurückgeben

Problem:

Sie möchten Daten abrufen aus einer Tabelle, wobei die Zeilen priorisiert werden, die einen bestimmten Wert in einer bestimmten Spalte enthalten. Die restlichen Zeilen sollten in alphabetischer Reihenfolge basierend auf einer anderen Spalte folgen.

Betrachten Sie eine Beispieltabelle Benutzer mit der folgenden Struktur:

id name city
1 George Seattle
2 Sam Miami
3 John New York
4 Amy New York
5 Eric Chicago
6 Nick New York

Lösung:

Um Zeilen basierend auf einem bestimmten Wert zu priorisieren und die verbleibenden Zeilen alphabetisch zu ordnen, verwenden Sie Folgendes Abfrage:

ORDER BY CASE WHEN city = 'New York' THEN 1 ELSE 2 END, city
Nach dem Login kopieren

Erklärung:

Der CASE-Ausdruck weist Zeilen einen Prioritätswert von 1 zu, in denen die Stadtspalte mit dem angegebenen Wert übereinstimmt ('New York'). und einen Prioritätswert von 2 für alle anderen Zeilen. Dadurch wird sichergestellt, dass Zeilen, die „New York“ enthalten, zuerst im Ergebnissatz erscheinen.

Der zweite Teil der ORDER BY-Klausel, Stadt, sortiert die Zeilen innerhalb jeder Prioritätsgruppe weiter alphabetisch basierend auf der Stadtspalte.

Diese Abfrage gibt die folgenden Ergebnisse zurück:

id name city
3 John New York
4 Amy New York
6 Nick New York
1 George Seattle
2 Sam Miami
5 Eric Chicago

Das obige ist der detaillierte Inhalt vonWie priorisiere ich Zeilen mit einem bestimmten Wert und sortiere sie dann in SQL alphabetisch?. 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