HTL/Gruppierungen

From SQLZOO
Jump to navigation Jump to search
Language:Project:Language policy English
world
namecontinentarea populationgdp
AfghanistanAsia6522302550010020343000000
AlbaniaEurope28748 2831741 12960000000
AlgeriaAfrica2381741 37100000 188681000000
AndorraEurope46878115 3712000000
AngolaAfrica1246700 20609294 100990000000
....

Noch ohne Gruppierung

Gib die Summe der Fläche aller Länder an.

SELECT SUM(area)
FROM world;

Die einzelnen Flächen der Kontinente

In diesem Beispiel wird die Summe der Fläche der Länder pro Kontinent gebildet und ausgegeben. Der Kontinent wird aber nicht angezeigt.

Ändere die Abfrage so, dass rechts neben der Fläche auch der zugehörige Kontinent angezeigt wird.

SELECT SUM(area)
FROM world
GROUP BY continent;
SELECT SUM(area), continent
FROM world
GROUP BY continent;

Bevölkerung pro Kontinent

Die angezeigte Abfrage zeigt die Anzahl der Länder pro Kontinent und den Kontinent an. Nach der Länderanzahl absteigend sortiert.

Dazu ist es notwendig, die Anzahl der Länder mit COUNT(name) zu ermitteln und den Kontinent ebenfalls anzuzeigen. Es müssen aber die Datensätze pro Kontinent zusammengefasst werden.
Deshalb muss mit dem Befehl GROUP BY (continent) nach dem Kontinent gruppiert werden.
Am Ende wird das Ergebnis der Abfrage nach der Anzahl der Länder absteigend (DESC für descending) sortiert.

Ändere die Abfrage und zeige die Gesamtbevölkerung pro Kontinent an. Sortiere das Ergebnis nach der Gesamtbevölkerung aufsteigend (ascending) an.
Der bevölkerungsreichste Kontinent soll also als letztes in der Ergebnisliste stehen.

SELECT COUNT(name), continent
FROM world
GROUP BY continent
ORDER BY COUNT(name) DESC
SELECT SUM(population), continent
FROM world
GROUP BY continent
ORDER BY SUM(population) ASC


GDP pro Kontinent

Gib das gesamte GDP pro Kontinent und den Kontinent an. Sortiere nach dem Kontinent alphabetisch absteigend,
d.h. Kontinente mit A finden sich am unteren Ende der Tabelle.

SELECT SUM(gdp), continent 
FROM world 
GROUP BY continent 
ORDER BY continent DESC;


GDP für bestimmte Kontinente

Ähnlich wie vorher, aber mit einer Einschränkung:
Gib das gesamte GDP pro Kontinent und den Kontinent an. Zeige jedoch nur die Kontinente an, in deren Bezeichnung "rica" vorkommt.

SELECT SUM(gdp), continent 
FROM world 
WHERE continent LIKE '%rica%'
GROUP BY continent;