如何在MySQL的一列中根据某些不同的时间范围对数据求和

How to sum data based on certain different range of time in one column in MySQL

提问人:justnewbie89 提问时间:7/18/2019 最后编辑:Madhur Bhaiyajustnewbie89 更新时间:7/18/2019 访问量:30

问:

我有这样的桌子

id     date        score
1   2017-01-01  5
1   2017-01-02  6
2   2017-01-03  7
2   2017-01-04  5
5   2017-04-02  4
5   2017-04-03  2
6   2017-04-04  9
7   2017-04-05  10
1   2017-05-28  5
1   2017-05-29  3
2   2017-05-30  5
2   2017-05-31  3

我想根据日期范围对分数求和

condition 1
2017-01-01 - 2017-01-04
condition 2
2017-04-01 - 2017-04-30
condition 3
2017-05-01 - 2017-05-31

我寻找的目标是生成如下所示的表格

id  sum_condition_1 sum_condition_2  sum_condition_3
1   11                null              8
2   12                null              8
5   null               6               null
6   null               9               null
7   null               10              null
mysql 总和

评论

0赞 Madhur Bhaiya 7/18/2019
你有单独的主表吗?如果一个值在给定的日期“条件”范围内没有任何值,会发生什么情况?该值是否仍显示在输出中,所有总和都为 .ididscoreidnull
0赞 Raymond Nijland 7/18/2019
MySQL数据透视表的可能重复项
0赞 Raymond Nijland 7/18/2019
问题是重复的。.只需更改其他列的日期即可。SUM(CASE WHEN date BETWEEN '2017-01-01' AND '2017-01-04' THEN score ELSE NULL END) AS sum_condition_1

答: 暂无答案