从我搜索的每个参考文献中,如何进行累积总和/运行总计。他们说使用Windows功能更好,所以我做了
select grandtotal,sum(grandtotal)over(order by agentname) from call
但我意识到只要每行的值不同,结果就可以了。结果如下:
有没有解决这个问题?
答案 0 :(得分:2)
您可能希望查看有关窗口规范的文档(here)。默认值为“range between”,它通过行中的值定义范围。你想要“行间”:
select grandtotal,
sum(grandtotal) over (order by agentname rows between unbounded preceding and current row)
from call;
或者,您可以在排序中包含id
列以保证唯一性,而不必处理相等键值的问题。