我正在尝试使用特定的舍入规则(第 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,52
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), ())