永洪社区

标题: 如下语句应该如何更改,请帮忙看看,感谢。 [打印本页]

作者: yhdata_zfYQk03B    时间: 2022-5-18 00:06
标题: 如下语句应该如何更改,请帮忙看看,感谢。

目前我只会同一天及同名称的求和,不会累计求和。


想根据(名称、日期)以及销售额 最后得出 累计销售额。


就比如名称是电信,日期是2022/1/31 需要把2022/1/31号及以前日期的销售额累加。


请各位抽空帮忙看看,非常 谢谢各位。




如下代码是同一天及同名称的求和,如何更改可以达到累计求和?
SELECT
A.名称,
A.日期,
A.销售额,
B.累计销售额
FROM test A
LEFT JOIN (
select 名称,日期,
sum(销售额) AS 累计销售额
FROM test
group by 名称,日期
) B
ON A.名称 = B.名称 and A.日期 = B.日期




名称日期销售额累计销售额
电信2022/2/2 1:2040126
联通2022/2/3 4:201072
电信2022/2/2 1:2030126
联通2022/2/2 1:201062
电信2022/2/3 9:2090216
联通2022/2/2 22:201062
电信2022/2/2 11:2011126
联通2022/2/2 0:201262
电信2022/2/1 13:201345
联通2022/2/1 2:201430
电信2022/1/31 15:201532
联通2022/1/31 4:201616
电信2022/1/30 17:201717



作者: speedy    时间: 2022-5-18 09:54
您好,正在帮您解决,请稍等
作者: speedy    时间: 2022-5-18 10:00
您好,加一个 where 日期 <= 2022/1/31 && 名称="电信"
作者: yhdata_zfYQk03B    时间: 2022-5-18 10:11
speedy 发表于 2022-5-18 10:00
您好,加一个 where 日期

如果是这样,是不是只会算电信的,联通的会不会也自动计算。
作者: speedy    时间: 2022-5-18 10:32
这样只算电信的,如果还想算联通的, 再加一个 or 名称 =“联通”
作者: yhdata_zfYQk03B    时间: 2022-5-18 10:50
speedy 发表于 2022-5-18 10:32
这样只算电信的,如果还想算联通的, 再加一个 or 名称 =“联通”

刚试了一下,结果不对,结果还是只计算当天的。不是计算累计的。
作者: speedy    时间: 2022-5-18 11:13
或者您还用之前的sql,通过过滤,筛选出日期和名称,刷新数据。之后通过管理系统-日志,看到完整的sql拼法




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4