需要sql查询运行总计

时间:2018-02-27 12:06:48

标签: mysql

我有一个应用程序,成员记录任务:

task_id|task_date|task_name|task_duration

在某一天(task_date),可能会有超过1个任务,并且总计任务占用的持续时间。例如:

表:2

task_date  | task_count | task_duration
2018-02-24 |    2       | 240
2018-02-25 |    1       | 100
2018-02-26 |    3       | 180
2018-02-27 |    2       | 60

我想用累积数字绘制一张图表,这样我就可以获得累计运行总数:

期望的输出:

task_date  | task_count | task_duration
2018-02-24 |     2      | 240
2018-02-25 |     3      | 340
2018-02-26 |     6      | 520
2018-02-27 |     8      | 580

这样我就可以看到记录任务的趋势以及花费的总时间。

请关注表格:2作为要处理的数据。

1 个答案:

答案 0 :(得分:0)

您可以为此作业使用变量。

select task_date, task_count, cum_sum
from (select task_date, task_count, 
             @cum := @cum + task_duration, @cum as cum_sum
      from   tbl, (select @cum := 0) c) r
task_date  | task_count | cum_sum
:--------- | ---------: | :------
2018-02-24 |          2 | 240    
2018-02-25 |          1 | 340    
2018-02-26 |          3 | 520    
2018-02-27 |          2 | 580    

dbfiddle here