簡體   English   中英

第一列中按值分組的行總和-T-SQL

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM