Heim > Datenbank > MySQL-Tutorial > Wie ordne ich die Ergebnisse einer SQL UNION richtig an?

Wie ordne ich die Ergebnisse einer SQL UNION richtig an?

Susan Sarandon
Freigeben: 2025-01-11 06:03:42
Original
489 Leute haben es durchsucht

How to Properly Order Results from a SQL UNION?

UNION und Sortieren in SQL

In SQL ermöglicht uns der UNION-Operator, mehrere SELECT-Anweisungen in einer einzigen Ergebnismenge zu kombinieren. Das Sortieren kombinierter Daten kann jedoch schwierig sein, wenn jede SELECT-Anweisung möglicherweise unterschiedliche Daten zurückgibt.

Betrachten Sie die folgende Abfrage, die Daten aus der Student-Tabelle basierend auf zwei Kriterien abruft:

SELECT id, name, age
FROM Student
WHERE age > 20
UNION
SELECT id, name, age
FROM Student
WHERE Name LIKE "%a%";
Nach dem Login kopieren

Wir möchten die kombinierte Ergebnismenge nach der Namensspalte sortieren. Leider funktioniert die folgende Abfrage nicht wie erwartet:

SELECT id, name, age
FROM Student
WHERE age > 20
ORDER BY name;
Nach dem Login kopieren

In dieser Abfrage wird die ORDER BY-Klausel auf die kombinierten Ergebnisse der WHERE-Bedingungen angewendet und nicht auf die vollständige Ergebnismenge der UNION. Daher werden die Daten nicht sortiert.

Um die kombinierte Ergebnismenge nach Namen zu sortieren, verschieben Sie einfach die ORDER BY-Klausel außerhalb des UNION-Operators:

SELECT id, name, age
FROM Student
WHERE age > 20
UNION
SELECT id, name, age
FROM Student
WHERE Name LIKE "%a%"
ORDER BY name;
Nach dem Login kopieren

In dieser modifizierten Abfrage wird die ORDER BY-Klausel auf den gesamten Ergebnissatz angewendet, um sicherzustellen, dass die kombinierten Daten korrekt sortiert werden.

Das obige ist der detaillierte Inhalt vonWie ordne ich die Ergebnisse einer SQL UNION richtig an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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