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
Linda HamiltonOriginal
2025-01-05 05:01:09771Durchsuche

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

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;

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!

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