mysql实现分组条件本身字段叠加

一.需求:

   

    1.相同的task

    2.今天以及以前日期

    3.今天以及以前日期的同一个task进行累加

二.分析:

     因为对本身的操作,可以取表的两个实例  (`zt_taskestimate` `zt`, `zt_taskestimate` `ks`),一个实例做比较的对象,一个实例做自身。

    今天以及以前日期:`zt`.`date` <= `ks`.`date`

    累加:sum(`zt`.`consumed`)

    条件:(`ks`.`task` = `zt`.`task`) ,(`zt`.`date` <= `ks`.`date`),group by `ks`.`id`

三.sql语句:

select `ks`.`id` AS `id`,`ks`.`task` AS `task`,`ks`.`date` AS `date`,`ks`.`left` AS 

`left`,`ks`.`account` AS `account`,`ks`.`consumed` AS `consumed`,sum(`zt`.`consumed`) AS 

`sum_consumed` from (`zt_taskestimate` `zt` join `zt_taskestimate` `ks`) where 

((`zt`.`date` <= `ks`.`date`) and (`ks`.`task` = `zt`.`task`) and(`zt`.`consumed`<>0))  group by `ks`.`id`
发布了193 篇原创文章 · 获赞 30 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/yiye2017zhangmu/article/details/102921046
今日推荐