用mysql可以得到给定的累积值的日期范围的和吗?
假设数据是这样的(不需要从周六-Day列开始的累积周,只是为了显示更改和更容易可视化):
Date Day Value
03/11/2016 Thursday 15
04/11/2016 Friday 18
05/11/2016 Saturday 4
06/11/2016 Sunday 6
07/11/2016 Monday 8
08/11/2016 Tuesday 10
09/11/2016 Wednesday 13
10/11/2016 Thursday 17
11/11/2016 Friday 18
12/11/2016 Saturday 2
13/11/2016 Sunday 4
14/11/2016 Monday 6
and so on...例如,如果我要求从2016年3月11日到2016年11月04/ 11的结果,我希望看到:3 (18-15)从2016年11月03/11到07/11/2016:(18-15)+4+(6-4)+(8-6) =11。
或者更好地说,上表应转换为:
Date Day Value
03/11/2016 Thursday -
04/11/2016 Friday 3
05/11/2016 Saturday 4
06/11/2016 Sunday 2
07/11/2016 Monday 2
08/11/2016 Tuesday 2
09/11/2016 Wednesday 3
10/11/2016 Thursday 4
11/11/2016 Friday 1
12/11/2016 Saturday 2
13/11/2016 Sunday 2
14/11/2016 Monday 2在php或其他语言中,我只需使用(伪代码):
If (day != Saturday) {value = currentvalue-yesterdayvalue} else {value = currentvalue)理想情况下,我想从mysql中派生出这个
发布于 2016-11-14 14:56:09
SELECT x.*
, CASE WHEN WEEKDAY(x.date) = 5
THEN x.value
ELSE x.value-y.value END x
FROM my_table x
LEFT
JOIN my_table y
ON y.date = x.date - INTERVAL 1 DAY;https://stackoverflow.com/questions/40591331
复制相似问题