Using Group by with Cube in SQL Server
In Microsoft SQL Server normally when you use aggregation function you must use Group By clause to get the Total/Average So on. But by using Group by you can get the aggregation only (Total/Avg…etc) based on the columns which you are giving in Group By clause.
But if you want get the subtotals; you can use Cube, rollup clause with Group By clause.
Cube clause would give the subtotal for all possible matching like summary for all specified columns whatever you mentioned in group by clause
In the shown example, I need to get the total and subtotal of NoofBooks based on BCode and NoofLeaves but I can only get total based on those columns if I use Group By clause only. For that I can use cube clause with Group By clause.
When we use cube clause it would give total of NoofBooks for each BCode and NoofLeaves, subtotal for each BCode , Give the Subtotal summary will be shown separately (This is main different from rollup) and Grand Total of NoOfBooks
select BCode, NoofLeaves,SUM(NoofBooks) TTL_Books
from ChequeDetails
where jobno='1214200644619 '
group by BCode,NoofLeaves
with cube
order by BCode,NoofLeaves
Comments
Post a Comment