运行 在 sql 中使用 windows 函数的总数对于相同的数据具有相同的结果
running total using windows function in sql has same result for same data
从我搜索的每个参考文献中如何计算累计总和/运行 总计。他们说用 windows 函数更好,所以我用了
select grandtotal,sum(grandtotal)over(order by agentname) from call
但我意识到只要每行的值不同,结果就可以了。这是结果:
有办法解决这个问题吗?
您可能需要查看有关 window 规范(即 here)的文档。默认值为 "range between",它通过行中的值定义范围。你想要 "rows between":
select grandtotal,
sum(grandtotal) over (order by agentname rows between unbounded preceding and current row)
from call;
或者,您可以在排序中包含一个 id
列以保证唯一性,而不必处理相同键值的问题。
从我搜索的每个参考文献中如何计算累计总和/运行 总计。他们说用 windows 函数更好,所以我用了
select grandtotal,sum(grandtotal)over(order by agentname) from call
但我意识到只要每行的值不同,结果就可以了。这是结果:
有办法解决这个问题吗?
您可能需要查看有关 window 规范(即 here)的文档。默认值为 "range between",它通过行中的值定义范围。你想要 "rows between":
select grandtotal,
sum(grandtotal) over (order by agentname rows between unbounded preceding and current row)
from call;
或者,您可以在排序中包含一个 id
列以保证唯一性,而不必处理相同键值的问题。