Heim >Datenbank >MySQL-Tutorial >Wie kann ich Ergebnisse aus mehreren UNIONed SQL-Abfragen bestellen?

Wie kann ich Ergebnisse aus mehreren UNIONed SQL-Abfragen bestellen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-11 06:16:41577Durchsuche

How Can I Order Results from Multiple UNIONed SQL Queries?

Ergebnisse aus kombinierten SQL-Abfragen mit UNION sortieren

Wenn Sie UNION in SQL verwenden, um Ergebnisse aus mehreren SELECT-Anweisungen zu kombinieren, müssen Sie möglicherweise die endgültige Ausgabe sortieren. Es ist wichtig zu verstehen, wie die Bestellung mit UNION funktioniert.

Betrachten Sie dieses Beispiel:

<code class="language-sql">SELECT id, name, age
FROM Student
WHERE age < 20
UNION
SELECT id, name, age
FROM Student
WHERE age > 30;</code>

Das einfache Hinzufügen einer ORDER BY-Klausel zu jeder einzelnen SELECT-Anweisung wird nicht das endgültige Gesamtergebnis bestimmen. Die ORDER BY-Klauseln innerhalb jeder Unterabfrage sind nur für die Ergebnisse dieser spezifischen Unterabfrage relevant, bevor sie kombiniert werden.

Um die kombinierte Ergebnismenge korrekt zu sortieren, platzieren Sie die ORDER BY-Klausel nach der letzten UNION-Anweisung:

<code class="language-sql">SELECT id, name, age
FROM Student
WHERE age < 20
UNION
SELECT id, name, age
FROM Student
WHERE age > 30
ORDER BY name;</code>

In dieser überarbeiteten Abfrage gilt die ORDER BY name-Klausel für den gesamten Datensatz, der durch den UNION-Vorgang erstellt wird. Die kombinierten Ergebnisse werden als einzelne Tabelle behandelt und dann alphabetisch nach der Spalte name sortiert. Dies stellt die ordnungsgemäße Reihenfolge sicher, unabhängig davon, welche ursprüngliche Unterabfrage die Daten beigetragen hat.

Das obige ist der detaillierte Inhalt vonWie kann ich Ergebnisse aus mehreren UNIONed SQL-Abfragen bestellen?. 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