如何解决保存在新列 MySQL 中的 sum(Revenue) 的季度差异
我需要在我的表中添加一个新列,该列将显示新季度的总收入与上一季度的收入总和之间的差值。 我的数据如下所示:
Website Year Quarter Revenue
cosmo.com 2019 4 10
cosmo.com 2020 1 15
cosmo.com 2020 2 5
fashion.com 2019 4 10
fashion.com 2020 1 5
fashion.com 2020 2 20
所需的输出是:
Website Year Quarter Revenue Difference
cosmo.com 2019 4 10 +5
cosmo.com 2020 1 15 +5
cosmo.com 2020 2 5 -10
fashion.com 2019 4 10 +10
fashion.com 2020 1 5 -5
fashion.com 2020 2 20 +15
我曾尝试查看年度差异,但出现语法错误
select *,`Revenue` - lag(`Revenue`) over(order by `Year`) as difference
from table`
解决方法
据我所知,您想要的是与上一个季度的差异,而不是年度。那将是:
select t.*,(t.Revenue - lag(t.Revenue) over (partition by website order by Year,quarter)) as difference
from table t;
注意网站使用 partition by
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。