SQL Count, das unbekannte Wesen
Bei der Suche nach einem praktischen SQL-Skript für eine Statistik, bin ich auf die Möglichkeit gestoßen, den SQL Count Befehl zu verwenden:
SELECT a.BewertungId, COUNT(*) Gesamt, COUNT(E_Datum) Offen, COUNT(CASE WHEN ((a.Abgelehnt = 0) OR (b.OFI = 0)) THEN NULL ELSE 1 END) Abgelehnt FROM Aktivitaeten a, Bewertung b WHERE a.BewertungId = b.Id GROUP BY a.BewertungId ORDER BY a.BewertungId |
Die Nutzungsmöglichkeit des COUNTs ist dabei vielfältig:
- Üblicherweise wird Count mit dem Parameter (*) aufgerufen. Dieser Aufruf führt zur vollständigen Zählung der Datenmenge.
- Gibt man aber als Parameter einen Spaltennamen ein, so werden nur die Datensätze gezählt, die in der gewünschten Spalte einen Eintrag ungleich NULL haben.
- Aber auch die Angabe eines Ausdrucks, der NULL oder einen Wert liefert, ist möglich.
Das aufgeführte Beispiel zählt also auf einmal: alle Datensätze, alle Datensätze mit einem Eintrag in der Spalte E_Datum und als letzten Punkt alle Datensätze, die eine Ablehnung enthalten.