首页 > 解决方案 > 运行 Sum 输出错误的顺序

问题描述

我需要我的表的运行总和,我在其中编写了我的代码,但无法让它工作。

这就是我得到的

在此处输入图像描述

这就是我需要的

在此处输入图像描述

这是我的代码

SELECT 
id,
date
saldo,
cast(sum(saldo) over (order by date ROWS UNBOUNDED PRECEDING) as float) as running_Total

FROM orders

order by date desc;

我根本无法理解问题所在。我已经在互联网上搜索了几个小时。我也有问题将小数点和逗号移动到正确的位置。

谢谢!

标签: mysqlsqlsql-order-bywindow-functions

解决方案


我怀疑您的数据中实际上有多个ids 并且您需要的是partition by

SELECT id, date saldo,
       sum(saldo) over (partition by id order by date ROWS UNBOUNDED PRECEDING) as running_Total
FROM orders
ORDER BY id, date;

推荐阅读