各位大神们,现在有两张表realtime(send_time,range,oil)和gps(send_time,speed),我要把这两张表的数据汇总到sum表中,sum表的字段有year,month,day,hour,max(range)-min(range),avg(oil),max(speed),avg(speed),sum表记录的是每小时的数据,年月日小时就是send_time里面的,前两张表是每10秒的数据,他们每条数据都是一一对应的,sum表用的是是组合主键,有年月日小时这4个主键,我用的mysql,达到这一操作的sql语句要怎么写啊,我之前想写成一条,总写不好,后来分2条写,第二个update语句又不知道怎么写了,谢谢帮助我的各位大神

解决方案 »

  1.   

    INSERT INTO t_sum_fact SELECT YEAR(r.sending_time),MONTH(r.sending_time),DAY(r.sending_time),HOUR(r.sending_time),(SELECT v.id from t_vehicle v where v.vin = r.vin),
    count(r.id),count(r.id),max(r.driving_range)-min(r.driving_range),avg(r.avg_oil_a),0,0,NOW()
    FROM t_data_realtime_report r GROUP BY r.vin,DATE_FORMAT(r.sending_time,'%Y-%m-%d %H')
    字段本来是很多的,我提的问题是简化了的,这只是吧realtime表的数据汇总成一个小时,保存到sum表,那2个0是还没有汇总的gps表要汇总的每小时的最大速度和平均速度