我有一个包含“年”、“周”、“市场”、“产品销售”列的表格。我的运行总数应该是
我已经尝试过 SQL 脚本over(order by Year, Week, Market, Product ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
。这仅适用于市场和产品组合的第一个记录集。一旦市场和/或产品发生变化,输出仍然会考虑最后更新的数据进行计算。
Year Week Market Product Sale RunningTotal
2017 1 USA Shampoo 100 100
2017 2 USA Shampoo 100 200
2017 3 USA Shampoo 100 300
2017 1 USA Soap 100 400
2017 2 USA Soap 100 500
2017 3 USA Soap 100 600
2017 1 India Soap 200 800
2017 2 India Soap 200 1000
2017 3 India Soap 200 1200
我正在寻找的结果是这样的
Year Week Market Product Sale RunningTotal
2017 1 USA Shampoo 100 100
2017 2 USA Shampoo 100 200
2017 3 USA Shampoo 100 300
2017 1 USA Soap 100 100
2017 2 USA Soap 100 200
2017 3 USA Soap 100 300
2017 1 India Soap 200 200
2017 2 India Soap 200 400
2017 3 India Soap 200 600
最佳答案
您需要按市场和产品进行分区:
OVER (
PARTITION BY Market, Product
ORDER BY year, Week
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
)
关于sql - 基于多种条件的运行总计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47012744/