Als u SQL Server 2008 of een latere versie gebruikt, kunt u de ROLLUP()
. gebruiken GROUP BY-functie:
SELECT
Type = ISNULL(Type, 'Total'),
TotalSales = SUM(TotalSales)
FROM atable
GROUP BY ROLLUP(Type)
;
Dit veronderstelt dat het Type
kolom mag geen NULL's hebben en dus zou de NULL in deze query de samengetelde rij aangeven, die met het eindtotaal. Als de Type
kolom kan eigen NULL's hebben, het juistere type boekhouding voor de totale rij zou zijn zoals in het antwoord van @Declan_K, d.w.z. met behulp van de GROUPING()
functie:
SELECT
Type = CASE GROUPING(Type) WHEN 1 THEN 'Total' ELSE Type END,
TotalSales = SUM(TotalSales)
FROM atable
GROUP BY ROLLUP(Type)
;