Menu
Coddy logo textTech

Built-In Aggregate Part 2

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

Manchmal müssen wir Aggregatfunktionen auf komplexere Weise verwenden, wie zum Beispiel beim Vergleich jeder Zeile mit einem Aggregatwert. Hier erweisen sich verschachtelte Abfragen als nützlich.

Wenn Sie Berechnungen durchführen möchten, die einzelne Zeilen mit Aggregatwerten kombinieren, müssen Sie eine verschachtelte Abfrage verwenden. Hier ist der Grund:
Dies wird nicht das gewünschte Ergebnis pro Zeile liefern:

SELECT value + MIN(value)
FROM table1

Der Grund dafür ist, dass Aggregatfunktionen auf der gesamten Spalte arbeiten, während die Referenz 'value' versucht, zeilenweise zu arbeiten. Um dies zu lösen, verwenden wir eine verschachtelte Abfrage:

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

Dies funktioniert, da 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 Aggregate:
1. Vergleich jedes Wertes mit dem Durchschnitt

2. Berechnung des prozentualen Anteils an der Gesamtsumme

3. Differenzen zu Maximal- oder Minimalwerten finden

challenge icon

Aufgabe

Einfach

Verfügbare Tabellen und Spalten:

  • <strong>items</strong>: <strong>id</strong>, <strong>price</strong>

Berechne, um wie viel der Preis jedes Artikels den Durchschnittspreis aller Artikel übersteigt. Zeige die Artikel-ID, den 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