Ако използвате SQL Server 2008 или по-нова версия, можете да използвате ROLLUP()
Функция GROUP BY:
SELECT
Type = ISNULL(Type, 'Total'),
TotalSales = SUM(TotalSales)
FROM atable
GROUP BY ROLLUP(Type)
;
Това предполага, че Type
колоната не може да има NULL и така NULL в тази заявка ще посочи сборния ред, този с общата сума. Въпреки това, ако Type
колоната може да има собствени NULL, по-правилният тип отчитане на общия ред би бил като в отговора на @Declan_K, т.е. с помощта на GROUPING()
функция:
SELECT
Type = CASE GROUPING(Type) WHEN 1 THEN 'Total' ELSE Type END,
TotalSales = SUM(TotalSales)
FROM atable
GROUP BY ROLLUP(Type)
;