Heim >Datenbank >MySQL-Tutorial >Wie priorisiere ich bestimmte Zeilen in Datenbankabfragen?
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!