Вам не нужно ROLLUP
для этого сценария.Вы можете добиться этого, используя UNION ALL
, как показано ниже.
select name, [length] / 12.0
from yourtable
union all
select 'Total', avg(length/12.0)
from yourtable
Но все же, если вы хотите использовать ROLLUP
, вы можете попробовать выполнить следующее:
select name , avg([length])
from
(
select name, [length] / 12.0 as [length]
from yourtable
cross join
(
values(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12)
) t(a)
) t
group by rollup(name)
Онлайн демо