首页 新闻 赞助 找找看

mysql聚合数据需要添加条件问题

0
[待解决问题]

有这样的一批数据

id  type      value     datetime

1  80    1    2017-11-22  12:00:00

2  80    2    2017-11-21  12:00:00

3  82    3    2017-11-22  12:00:00

4  90    4    2017-11-22  12:00:00

5  82    3    2017-11-22  11:00:00

 

目标是根据datetime,groupby一下取出每天的合计value,带有的逻辑条件如下:

1.假如一天中出现type=82的数据,只取type=82最新的那一条,跟80的相加统计

3.假如出现type=90的数据,只取type=90最新的那一条进行统计,其他的全部忽略

 

实现上面第一个条件我是这样实现的:

select DATE_FORMAT(datetime,'%Y-%c-%e') as Time,sum(value) as value
from ( select * from table where Type = '80'
union all
select * from( SELECT * FROM(SELECT * FROM table
where Type = '82' ORDER BY datetime DESC)b
GROUP BY DATE_FORMAT(datetime, '%Y-%c-%e') ORDER BY datetime DESC ) table2)table3
GROUP BY DATE_FORMAT(datetime,'%Y-%c-%e') order by datetime desc;

 

假如当天出现type=90的数据的时候,在统计当天的数据的时候,只取type=90最新的一条就可以了,当天就不统计其他type的数据了,这该怎么写sql呢

PowerDK的主页 PowerDK | 菜鸟二级 | 园豆:208
提问于:2017-11-22 14:53
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册