Aggregatfunktionen für Auswertungen
Dienstag, 14. April 2026 •
admin •
Uncategorized •
Um ein Total bei der Summenbildung hinzuzufügen kann man die group by Funktion über Grouping Sets erweitern.
Hier am Beispiel einer Aggregation über Steuerklassen.
select
umm.MWSTID
,m.Steuersatz
,summeAusg = format(sum(umm.[UmsatzBetrag]), 'n2', 'de-de')
,summeEsrt = format(sum(umm.[SplitSteuer]), 'n2', 'de-de')
, 'Total' = grouping(umm.MWSTID)
FROM [dbo].[UmsatzMwSt] umm
inner join [dbo].[Umsätze] um
on umm.UmsatzID = um.ID
left join [dbo].[MWST] m
on umm.MWSTID = m.ID
where um.[ImportDat] is Not NULL
group by Grouping sets((m.Steuersatz, umm.MWSTID), ())
order by Total, umm.MWSTID
Das sieht dann so aus. Die 1 in der Spalte 'Total' markiert die Gesamtsumme.

Die beiden Spalten Steuersatz und MWSTID bilden das Set über das gruppiert werden soll. Die Klammer weißt an, dass über alles das Total zu bilden ist.
#T-SQL, #Aggregate