sql.06 Aggregat-Funktionen


Weitere Informationen über gegebene Daten können mit Hilfe von Aggregat-Funktionen ermittelt werden.

Mit den Aggregatfunktionen MAX() und MAX() wird der Planet mit der längsten Umlaufzeit und der Planet mit der kürzesten Umlaufzeit ermittelt:


Mit der Aggregatfunktion COUNT() wird die Anzahl an gespeicherten Planetennamen ermittelt:


Mit der Aggregatfunktion SUM() wird die Summe aller Umlaufzeiten der Planeten ermittelt:


Mit der Aggregatfunktion AVG() wird der durchschnittliche Durchmesser der Planeten ermittelt. Mit Hilfe der Aggregatfunktion ROUND() kann die Anzahl der ausgegebenen Dezimalstellen begrenzt werden:


Wenn man die Aggregatfunktion mit einem Filter kombiniert, dann wird erst der Filter angewendet und danach die Aggregatfunktion:


In der folgenden Tabelle sind die Noten eines Informatikkurses im Jahrgang 11 gespeichert:


Es sollen jetzt Durchschnittsnoten von verschiedenen Teilmengen der Klasse ermittelt werden:

  • der Durchschnitt der Klassen 11a und 11b im direkten Vergleich,

  • der Durchschnitt der Schüler im Vergleich zu den Schülerinnen.

Dazu kann mit Hilfe der Anweisung GROUP BY die Aggregatfunktion AVG() gezielt auf bestimmte Teilmengen der Daten angewendet werden.


Durchschnittsnote nach Klassen

Es wird der Durchschnitt der Klassen 11a und 11b im direkten Vergleich ermittelt. Dazu soll die Klasse und die Durchschnittsnote der Klasse ausgegeben werden. Mit Hilfe der Anweisung GROUP BY klasse wird erreicht, dass von allen gleichen Eintragungen in der Spalte klasse der Durchschnitt berechnet wird:

  • es werden zwei unterschiedliche Gruppen von Eintragungen gefunden: 11a und 11b,
  • von der Gruppe 11a wird der Durchschnitt gebildet und ausgegeben,
  • von der Gruppe 11b wird der Durchschnitt gebildet und ausgegeben.

Durchschnittsnote nach Geschlecht

Es wird der Durchschnitt der drei Geschlechter m = männlich, w = weiblich und d = divers im direkten Vergleich ermittelt. Dazu soll das Geschlecht und die Durchschnittsnote davon ausgegeben werden. Mit Hilfe der Anweisung GROUP BY geschlecht wird erreicht, dass von allen gleichen Eintragungen in der Spalte geschlecht der Durchschnitt berechnet wird:

  • es werden drei unterschiedliche Gruppen von Eintragungen gefunden: m und w und d,
  • von der Gruppe m wird der Durchschnitt gebildet und ausgegeben,
  • von der Gruppe w wird der Durchschnitt gebildet und ausgegeben,
  • von der Gruppe d wird der Durchschnitt gebildet und ausgegeben.

In der folgenden Tabelle sind die Noten eines Informatikkurses im Jahrgang 11 gespeichert:

Es soll die Durchschnittsnote getrennt nach Geschlecht für jede Klasse einzeln ausgegeben werden:

Dazu wird:

  • zuerst die Teilmenge an Daten aus einer bestimmten Klasse gefiltert und

  • danach die Durchschnittsberechnung gruppiert nach dem Geschlecht durchgeführt.


Klasse 11a

Die Filteranweisung WHERE muss vor der Grupperierungsanweisung GROUP BY stehen.


Klasse 11b

Mit Hilfe des Schlüsselworts AS kann die Überschrift einer Spalte bei der Ausgabe geändert werden.

In der folgenden Tabelle sind die Noten eines Informatikkurses im Jahrgang 11 gespeichert:

Es sollen die Noten ausgegeben werden, die mehr als einmal vergeben wurden:

Dazu wird:

  • zuerst die Summe gleicher Noten bestimmt,

  • nur die ausgegeben, die mehr als einmal im Kurs vorkommen


Zuerst werden die Notenanzahlen für jede Note gezählt:

Dann werden mit dem Schlüsselwort HAVING die Noten gefiltert, die mehr als einmal vergeben wurden: