开发者社区> 问答> 正文

求sql大神帮忙解决

各位大神们,现在有两张表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语句又不知道怎么写了,谢谢帮助我的各位大神

展开
收起
吴孟桥 2016-06-15 17:30:02 2028 0
1 条回答
写回答
取消 提交回答
  • 加上left join拼接呢

    select a. ,b. from
    (SELECT YEAR(r.send_time) y,MONTH(r.send_time) m,DAY(r.send_time) d,HOUR(r.send_time) h,
    max(r.driving_range)-min(r.driving_range) r,avg(r.avg_oil_a) o
    FROM realtime r GROUP BY DATE_FORMAT(r.sending_time,'%Y-%m-%d %H')) AS a
    LEFT JOIN
    (
    SELECT YEAR(g.send_time) y,MONTH(g.send_time) m,DAY(g.send_time) d,HOUR(g.send_time) h,
    max(g.speed) ms,avg(g.speed) avs
    FROM gps g GROUP BY DATE_FORMAT(g.sending_time,'%Y-%m-%d %H') ) AS b
    on a.y = b.y and a.m= b.m and a.h=b.h and a.d=b.d

    2019-07-17 19:39:51
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spark SQL 2.0/2.1 Experiences 立即下载
GeoMesa on Spark SQL 立即下载
PolarDB NL2SQL: 帮助您写出准确、优化的SQL 立即下载