Kleines Nachschlagewerk Informatik
Aggregatfunktionen
Worum geht es?
Bisher wurden Daten abgefragt und einzeln ausgegeben. Oftmals interessieren jedoch nicht die Einzeldaten, sondern Summen (wie viele Mitarbeiter hat die Firma?), Durchschnitte (Wie hoch ist der Durchschnittslohn), Extremwerte (Was ist das niedrigste Gehalt?) u.a. Hierbei helfen die sogenannten Aggregatfunktionen.
Die Anzahl (COUNT)
Mit Count zählt man Datensätze, für die eine Bedingung erfüllt ist oder man zählt alle Datensätze. Die allgemeine Syntax ist:

      SELECT count(Spalte) FROM Tabelle WHERE Bedingung
            
Möchte man wissen, wie viele Mitarbeiter mehr als 3000 Euro verdienen, schreibt man:

      SELECT count(Gehalt) FROM Mitarbeiter WHERE Gehalt > 3000
            
Sollen einfach nur alle Datensätze gezählt werden, so schreibt man

      SELECT count(*) FROM Mitarbeiter
            
Man kann auch Datensätze zählen, deren Werte in der angegebenen Spalte verschieden sind. Möchte man beispielsweise wissen, wie viele verschiedene Gehälter man zahlt (also wie zerklüftet die Gehaltsstruktur der Firma ist), schreibt man:

      SELECT count(distinct Gehalt) FROM Mitarbeiter
            
Die Summe (SUM)
Mit der Summe kann man Werte aufaddieren. Die allgemeine Syntax ist:

      SELECT sum(Spalte) FROM Tabelle WHERE Bedingung
            
Möchte man wissen, wie viel Geld man jeden Monat für Lohn ausgibt (naja, ohne Nebenkosten), dann geht dies mit:

      SELECT sum(Gehalt) FROM Mitarbeiter
            
Der Durchschnitt (AVG)
Der Durchschnitt wird mit AVG (average) berechnet. Die Syntax lautet:

      SELECT avg(Spalte) FROM Tabelle WHERE Bedingung
            
Somit bekommt man das durchschnittliche Gehalt mit:

      SELECT avg(Gehalt) FROM Mitarbeiter
            
Extremwerte (MIN und MAX)
Machen wir es kurz: Das minimale und maximale Gehalt erhält man mit

      SELECT min(Gehalt) FROM Mitarbeiter
      SELECT max(Gehalt) FROM Mitarbeiter
            
Funktionen verrechnen
Natürlich kann man auch die Ergebnisse der Funktionen miteinander verrechnen. Gäbe es die Durchschnittsfunktion nicht, kann man sich so helfen:

      SELECT sum(Gehalt) / count(Vorname) FROM Mitarbeiter
            
Alias (as)
Die Namen der Ergebnisse sind dann die Berechnungsvorschriften selbst, was nicht immer gut lesbar ist. Somit kann man dafür Namen vergeben.

      SELECT sum(Gehalt) / count(Vorname) as Durchschnittslohn FROM Mitarbeiter