SUM OVER PARTITION BY 2 最后一行相同的值
Posted
技术标签:
【中文标题】SUM OVER PARTITION BY 2 最后一行相同的值【英文标题】:SUM OVER PARTITION BY 2 last row same value 【发布时间】:2019-02-26 00:03:46 【问题描述】:谁能给我解释一下?
我的查询:
SELECT `Date`,`qtyS`,SUM(`qtyS`) OVER (ORDER BY `Date`)
FROM ic_transaction ORDER BY `Date`
我知道了
Date qtyS SUM(qtyS) OVER (ORDER BY `Date`)
2018-06-20 13:11:11 30.0000 30.0000
2018-06-20 14:07:25 10.0000 40.0000
2018-06-20 14:35:45 10.0000 50.0000
2018-06-25 11:19:42 -20.0000 30.0000
2018-06-25 16:49:01 -20.0000 10.0000
2018-06-26 15:52:13 20.0000 30.0000
2018-09-11 21:07:10 10.0000 60.0000
2018-09-11 21:07:10 20.0000 60.0000
为什么最后两行的总和相同?
【问题讨论】:
见:Why should I provide an MCVE for what seems to me to be a very simple SQL query? 【参考方案1】:最后两行具有完全相同的日期,因此它们被视为等同于排序。因此,它们不仅具有相同的累积总和,而且它们的每个总和都包含这两行的值。
【讨论】:
那么我该如何修复我的查询? @Youngzie 您可以添加辅助排序标准,例如qtyS
以上是关于SUM OVER PARTITION BY 2 最后一行相同的值的主要内容,如果未能解决你的问题,请参考以下文章
Dplyr 相当于 SUM over PARTITION BY
使用 sum() over(partition by) 逐一计算行中的值
SUM() OVER (PARTITION BY) AS - 存在重复项时
T-SQL-Sum over Partition by 与 group by 组合