[英]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.