SQL: Aggregate verdichten

Aus DBWiki
Wechseln zu: Navigation, Suche

Zurück zur Übersicht



Um Ergebnisse einer Aggregatfunktion weiter zu aggregieren, muss man das Ergebnis in einer Unterabfrage ermitteln, um damit weitere Verdichtungen vornehmen zu können.


Es soll z.B. das mittlere Gehalt eines Jobs innerhalb einer Abteilung dazu herangezogen werden, um die Gehaltsspanne zwischen dem am besten bezahlten und dem am schlechtesten bezahlten Mitarbeiter auszugeben.

Allgemeine Lösung

Hinweis für Access-Anwender

Um die folgenden Abfragen selbst testen zu können, müssen die Tabellen der Übungsdatenbank vorhanden sein.

SELECT abt_nr,
       MAX( geh_avg ) - MIN( geh_avg ) AS geh_spanne
FROM   ( SELECT abt_nr,
                avg( gehalt ) AS geh_avg
         FROM   mitarbeiter
         GROUP  BY abt_nr, job ) AS v
GROUP BY abt_nr
abt_nr geh_spanne
10 3700
20 2050
30 1900



Zurück zur Übersicht