8 Aggregatfunktionen
Aggregatfunktionen
  • In SQL werden Aggregatfunktionen verwendet, um zusammenfassende Daten zu berechnen, die über mehrere Zeilen hinweg aggregiert werden.
    Hier ist eine Übersicht gängiger Aggregatfunktionen mit Beispielen aus einer fiktiven Datenbank. Diese könnte beispielsweise eine Tabelle namens Produkte mit den Spalten Produkt_ID, Kategorie, Preis und Verkauf_Datum enthalten.
  • Aggregatfunktionen in SQL
    • COUNT()
  • Beschreibung: Zählt die Anzahl der Zeilen oder nicht NULL-Werte in einer bestimmten Spalte.

    Beispiele:

    SELECT COUNT(*) FROM Produkte;

    - Zählt alle Produkte in der Tabelle.

    SELECT COUNT(Kategorie) FROM Produkte;

    - Zählt die Anzahl der Produkte, die einer Kategorie zugeordnet sind.
    • SUM()
  • Beschreibung: Berechnet die Summe eines numerischen Feldes.

    Beispiele:

    SELECT SUM(Preis) FROM Produkte;

    - Gibt die gesamte Summe der Preise aller Produkte aus.

    SELECT SUM(Preis) FROM Produkte WHERE Kategorie = 'Getränke';

    - Summiert die Preise nur der Produkte, die zur Kategorie "Getränke" gehören.
    • AVG()
  • Beschreibung: Berechnet den Durchschnittswert eines numerischen Feldes.

    Beispiele:

    SELECT AVG(Preis) FROM Produkte;

    - Gibt den durchschnittlichen Preis der Produkte zurück.

    SELECT AVG(Preis) FROM Produkte WHERE Kategorie = 'Snacks';

    - Berechnet den Durchschnittspreis der Produkte in der Kategorie "Snacks".
    • MIN()
  • Beschreibung: Gibt den kleinsten Wert eines Feldes zurück.

    Beispiele:

    SELECT MIN(Preis) FROM Produkte;

    - Gibt den niedrigsten Preis in der Produkttabelle zurück.

    SELECT MIN(Preis) FROM Produkte WHERE Kategorie = 'Obst';

    - Findet den niedrigsten Preis unter den Obstprodukten.
    • MAX()
  • Beschreibung: Gibt den größten Wert eines Feldes zurück.
  • Beispiele:
  • SELECT MAX(Preis) FROM Produkte;
    - Gibt den höchsten Preis in der Produkttabelle zurück.
  • SELECT MAX(Preis) FROM Produkte WHERE Kategorie = 'Getränke';
    - Findet den höchsten Preis unter den Getränken.
    • GROUP BY
  • Beschreibung: Gruppiert die Ergebnisse nach einer bestimmten Spalte und ermöglicht die Anwendung der Aggregatfunktionen auf diese Gruppen.

    Beispiele:

    SELECT Kategorie, COUNT(*) FROM Produkte GROUP BY Kategorie;

    - Zählt die Anzahl der Produkte pro Kategorie.

    SELECT Kategorie, AVG(Preis) FROM Produkte GROUP BY Kategorie;

    - Berechnet den Durchschnittspreis der Produkte pro Kategorie.
    • HAVING
  • Beschreibung: Filtert Gruppen basierend auf einer Bedingung, die mit Aggregatfunktionen arbeitet.

    Beispiele:

    SELECT Kategorie, SUM(Preis)
    FROM Produkte
    GROUP BY Kategorie
    HAVING SUM(Preis) > 100;

    - Gibt Kategorien zurück, deren Gesamtpreis über 100 liegt.

    SELECT Kategorie, COUNT(*)
    FROM Produkte
    GROUP BY Kategorie
    HAVING COUNT(*) > 10;

    - Zählt Kategorien, die mehr als 10 Produkte enthalten.