我需要查询将执行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
答案 0 :(得分:2)
如果在这种情况下订单确实很重要,你可以这样做:
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