This seems to work for me. but round(n,0) rounds >= .5 up not down.select case when grouping(grp) = 1 then 'total' else grp end as [grouping] ,sum(val) total ,round(sum(val),0) total_with_roundfrom ( select 'jan' [grp], 1.1 [val] union all select 'jan', 2.3 union all select 'jan', 1.4 union all select 'feb', 1.8 union all select 'feb', 2.8 union all select 'feb', 1.9 ) dgroup by grpwith rollupoutput:grouping total total_with_round-------- --------------------------------------- -----------------feb 6.5 7.0jan 4.8 5.0total 11.3 11.0
EDIT:Or is the problem that you want the [total_with_round] [total] to sum the rounded values rather than the raw values?Be One with the OptimizerTG