[英]Sum rows grouped by value in first column - T-SQL
我需要查询将按colA分组的colB的总和,然后与colA中的值相乘。 在对不同组进行所有求和之后,应将所有总和相加。 colA中不同值的数量可以是任意值。
colA colB
0.25 100
0.25 80
0.10 200
0.50 160
0.10 500
0.10 150
对于给定的示例,数学应如下所示:
(100+80)*0.25 + (200+500+150)*0.10 + 160*0.50 = 210
如果在这种情况下订单确实很重要,则可以执行以下操作:
SELECT SUM(Total) AS GrandTotal
FROM (
SELECT t.ColA, t.ColA * SUM(t.ColB) AS Total
FROM dbo.Table1 AS t
GROUP BY t.ColA
) AS A
但这在这种情况下应该起作用:
SELECT SUM(ColA * ColB)
FROM dbo.Table1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.