表a
column id : a a b b
column total : 1 2 1 3
我怎么能表现出来?在一个表中没有使用计算
a 3 7
b 4 7
答案 0 :(得分:3)
group by
总结每个ID的总和。进行子选择以计算总数:
select id,
sum(total) as total,
(select sum(total) from a) as totalall
from a
group by id
答案 1 :(得分:2)
使用具有不同的窗口函数,可以简单地表示如下:
select distinct id,
sum(Total) over(partition by id) total,
Sum(Total) over () total_all
from mytable
答案 2 :(得分:0)
一种方法是使用OUTER APPLY
。您还可以将变量设置为表的总和并调用该变量。
select a.id, sum(a.total) as total, b.Grand as GrandTotal
from tablea a
outer apply
(select sum(total) as Grand from tablea) b
group by a.id