簡體   English   中英

SQL分組集和匯總

[英]SQL grouping sets and roundup

我正在嘗試使用特定的匯總規則(第5列和第6列)來計算某個值的總和與相同的總和之間的差:


select
    A,
    B,
    C,
    sum(D),
    sum(D)/300,
    case when sum(D)/300 < 1.5 then 0 else round(sum(D/300), 0) end

from table

group by grouping sets ((A,B,C), ())

SQL有效,但是最后一行是錯誤的。 最后一行的總計似乎對第4列和第5列是正確的,但是在第6列中的總和不等於第5列的總和。

我究竟做錯了什么? (目標:比較第5列和第6列的總數)

歡迎任何幫助!

編輯:

現在的結果是這樣的(僅第5列和第6列):

1,2 0
1,5 2
3,1 3

5,8 6

在此示例中,第二列的總和應為5,但使用未取整的值應為6 ...

您缺少外部SUM

select
    A,
    B,
    C,
    sum(D),
    sum(D)/300,
    SUM(case when sum(D)/300 < 1.5 then 0 else round(sum(D/300), 0) end) as result

from table

group by grouping sets ((A,B,C), ())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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