我试图通过汇总同一表中另一列的值来在表中创建新列
这里是一个例子:
Header 1 Header 2 Header 3 (new column)
------------------------------------------------------
1 1 1 1
2 2 6 12
3 2 6 12
4 3 4 8
5 3 4 8
我希望根据标题2中的类别对总和进行分类,并使用标题3的值。
我可以为此使用什么SQL代码?
答案 0 :(得分:2)
您需要窗口功能:
DF
答案 1 :(得分:0)
您还可以使用cte结构,例如:
;with cte (header2,Total) as (
select header2,sum(header3) as Total
from table
group by header2
)
select t.*,cte.Total
from table t
inner join cte on cte.header2 = t.header2
答案 2 :(得分:0)
您也可以使用
SELECT T1.*,
(SELECT SUM(Header3) FROM T WHERE Header2 = T1.Header2) ExpectedResults
FROM T T1;