Heim >Datenbank >MySQL-Tutorial >Wie priorisiere ich bestimmte Zeilen in Datenbankabfragen?

Wie priorisiere ich bestimmte Zeilen in Datenbankabfragen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-30 05:32:09978Durchsuche

How to Prioritize Specific Rows in Database Queries?

Zeilen mit einem bestimmten Wert zuerst zurückgeben

Bei bestimmten Datenbankabfragen kann es wünschenswert sein, die Anzeige von Zeilen mit einem bestimmten Wert zu priorisieren . Betrachten Sie beispielsweise die folgende Tabelle:

Tabelle: Benutzer

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

Wenn wir zuerst die Zeilen abrufen möchten, in denen die Stadtspalte „New York“ enthält, und dann die restlichen Zeilen In alphabetischer Reihenfolge der Stadt können wir die folgende Abfrage verwenden:

SQL Server, Oracle und DB2:

ORDER BY CASE WHEN city = 'New York' THEN 1 ELSE 2 END, city

Diese Abfrage verwendet einen CASE-Ausdruck, um Zeilen mit „New York“ als Stadtwert eine Priorität von 1 und andernfalls eine Priorität von 2 zuzuweisen. Die ORDER BY-Klausel verwendet dann diese Priorität zusammen mit der Stadtspalte zum Sortieren. Folglich werden zuerst die Zeilen mit „New York“ zurückgegeben, gefolgt von den restlichen Zeilen, alphabetisch nach Stadt geordnet.

Das obige ist der detaillierte Inhalt vonWie priorisiere ich bestimmte Zeilen in Datenbankabfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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