capypad
0 Tage Serie
sql / expert
Snippet

Mehrdimensionale Aggregation mit Grouping Sets

Grouping Sets ermöglichen es einer einzelnen Abfrage, mehrere Gruppierungen zu definieren, was effektiv einem UNION ALL verschiedener GROUP BY-Klauseln entspricht. Dies ist hocheffizient für analytische Berichte, die gleichzeitig Gesamtsummen, Zwischensummen und detaillierte Aufschlüsselungen erfordern.

snippet.sql
sql
1
2
3
SELECT region, year, SUM(revenue)
FROM sales_data
GROUP BY GROUPING SETS ((region, year), (region), ());
Erklärung
1
GROUP BY GROUPING SETS
Gibt an, dass mehrere Gruppierungskonfigurationen verwendet werden.
2
(region, year)
Das erste Set: aggregiert sowohl nach Region als auch nach Jahr.
3
(region)
Das zweite Set: aggregiert nur nach Region (Zwischensumme).
4
()
Das leere Set: berechnet die Gesamtsumme über alle Zeilen.