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
1
2
3
SELECT region, year, SUM(revenue)FROM sales_dataGROUP 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.