Mit UNION eine Abfrage erweiter ohne diese neu zu sortieren

Qwertzuiop

Grünschnabel
Mit UNION eine Abfrage erweitern ohne diese neu zu sortieren

Hallo Leute,

Ich bin ein wenig am verzweifeln. Ich verwende Oracle SQL und hab eine Abfrage, die mir die Summen von Umsätzen, gruppiert nach Ländern, ausgibt. Diese Afrage ist auch nach Länden sortiert.

SELECT land,
sum(umsatz)
FROM umsatz_tabelle
GROUP BY land
ORDER BY land

Ausgabe ungefähr so:

Land Umsatz
-----------------------------------
Deutschland 100000
England 50000
Frankreich 41000
UK 60000

Jetzt will ich mit UNION noch eine Zeile unten dran hängen.

SELECT land,
sum(umsatz)
FROM umsatz_tabelle
GROUP BY land
ORDER BY land
UNION
SELECT 'Europa' land,
sum(umsatz)
FROM umsatz_tabelle

Jetzt sollte genau eine Zeile unten drangehängt werden

Land Umsatz
-----------------------------------
Deutschland 100000
England 50000
Frankreich 41000
UK 60000
Europa 251000

Leider wird die Abfrage neu sortiert, so soll es aber nicht sein:

Land Umsatz
-----------------------------------
Deutschland 100000
England 50000
Europa 251000
Frankreich 41000
UK 60000

Kennt ihr einen SQL-Trick, dass ich die Zeile für Europa wieder ganz unten hab, die anderen Länder aber sortiert sind.

Grüße

Qwertzuiop
 
Zuletzt bearbeitet:
Jepp. Ergänze um ein Sortierungsfeld

SQL:
SELECT 
	land,
	SUM(umsatz),
	0 AS group_sort
FROM 
	umsatz_tabelle
GROUP BY
	land
UNION
SELECT 
	'Europa' AS land,
	SUM(umsatz),
	1 AS group_sort
FROM 
	umsatz_tabelle
ORDER BY
	group_sort,
	land
 
Zuletzt bearbeitet von einem Moderator:
Cool,

daran hatte ich nicht gedacht. Aber natürlich, manchmal ist die Lösung zu einfach, dass man einfach nicht drauf kommt.

Danke Yaslaw

Grüße

Qwertzuiop
 

Neue Beiträge

Zurück