Heim >Datenbank >MySQL-Tutorial >Wie priorisiere ich Zeilen mit einem bestimmten Wert in SQL-Abfragen?
Zeilen mit einem bestimmten Wert zuerst zurückgeben
Sie müssen Ihre Abfrage ändern, um Zeilen basierend auf einem bestimmten Spaltenwert zu priorisieren und gleichzeitig die alphabetische Reihenfolge beizubehalten für die verbleibenden Zeilen.
Um dies zu erreichen:
SQL Server, Oracle, DB2 und andere
Verwenden Sie die folgende Syntax:
ORDER BY CASE WHEN city = 'New York' THEN 1 ELSE 2 END, city
In diesem Code:
CASE-Anweisung erstellt eine Prioritätsspalte:
ORDER BY sortiert die Zeilen:
Beispiel
Unter Verwendung der bereitgestellten Tabelle wird diese Abfrage:
SELECT * FROM Users ORDER BY CASE WHEN city = 'New York' THEN 1 ELSE 2 END, city;
zurückgeben folgende Ergebnisse:
- id - name - city - 3 John New York - 4 Amy New York - 6 Nick New York - 1 George Seattle - 2 Sam Miami - 5 Eric Chicago
Diese Abfrage gibt effektiv zuerst Zeilen mit „New York“ zurück und sortiert sie dann alphabetisch verbleibende Zeilen nach Stadt.
Das obige ist der detaillierte Inhalt vonWie priorisiere ich Zeilen mit einem bestimmten Wert in SQL-Abfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!