Heim > Datenbank > MySQL-Tutorial > Wie priorisiere ich Zeilen mit einem bestimmten Wert in SQL-Abfragen?

Wie priorisiere ich Zeilen mit einem bestimmten Wert in SQL-Abfragen?

Linda Hamilton
Freigeben: 2025-01-05 05:01:09
Original
813 Leute haben es durchsucht

How to Prioritize Rows with a Specific Value in SQL Queries?

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
Nach dem Login kopieren

In diesem Code:

  • CASE-Anweisung erstellt eine Prioritätsspalte:

    • Wenn die Stadt gleich „New York“ ist, ist die Priorität 1.
    • Ansonsten ist die Priorität 2.
  • ORDER BY sortiert die Zeilen:

    • Erstens, basierend auf Priorität (Zeilen mit „New York“ stehen an erster Stelle).
    • Dann alphabetisch nach Stadt geordnet Spalte.

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;
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

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