Blog

Aggregatfunktionen für Auswertungen

Dienstag, 14. April 2026Uncategorized

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