Menu
Coddy logo textTech

Integrierte Aggregatfunktionen Teil 2

Teil des Abschnitts Grundlagen der SQL-Journey von Coddy. Lektion 35 von 72.

Manchmal müssen wir Aggregatfunktionen auf komplexere Weise verwenden, etwa indem wir jede Zeile mit einem Aggregatwert vergleichen. Hier kommen verschachtelte Abfragen ins Spiel.

Wenn du Berechnungen durchführen möchtest, die einzelne Zeilen mit aggregierten Werten kombinieren, musst du eine verschachtelte Abfrage verwenden. Hier ist der Grund:
Dies liefert nicht das gewünschte Ergebnis pro Zeile:

SELECT value + MIN(value)
FROM table1

Der Grund ist, dass Aggregatfunktionen auf der gesamten Spalte arbeiten, während der Verweis „value“ versucht, zeilenweise zu arbeiten. Um dies zu lösen, verwenden wir eine verschachtelte Abfrage:

SELECT value + (SELECT MIN(value) FROM table1)
FROM table1

Das funktioniert, weil die verschachtelte Abfrage (SELECT MIN(value) FROM table1) zuerst ausgeführt wird und einen einzelnen Wert zurückgibt, der dann in der Hauptabfrage für jede Zeile verwendet werden kann.

Häufige Anwendungsfälle für verschachtelte Aggregationen:
1. Jeden Wert mit dem Durchschnitt vergleichen

2. Prozentsatz der Gesamtsumme berechnen

3. Unterschiede zu Maximal- oder Minimalwerten finden

challenge icon

Aufgabe

Einfach

Verfügbare Tabellen und Spalten:

  • items: id, price

Berechne, um wie viel der Preis jedes Elements den Durchschnittspreis aller Elemente übersteigt. Zeige die ID des Elements, seinen Preis und die Differenz zum Durchschnitt an. Benenne die Differenzspalte als diff_from_avg.

Sortiere die Ergebnisse nach der Differenz in absteigender Reihenfolge.

Probier es selbst

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: SQL-Playground