Heim >Datenbank >MySQL-Tutorial >Wie kann ich Ergebnisse aus mehreren UNIONed SQL-Abfragen bestellen?
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!