听见温暖www 2019-08-09 08:26 采纳率: 100%
浏览 569
已采纳

查多个电表 某时间段 开始时间和结束时间的值(mysql)

存电表的表(from):
EMeterID(电表的ID)

第二张数据表(form1) 存每个电表各时间点的数据
EMeterID ,Time(时间),data(数据);

需求:
给定开始时间(beginTime),结束时间(endTime),
查所有电表 开始时间和结束时间的数据,

注意::(如果表中没有开始时间对应的数据,就找大于开始时间的最接近开始时间的数据;没有结束时间的话,就找小于结束时间的最接近结束时间的数据)

例如:表一有3条数据分别为EMeterID=1,2,3
表二存着所有电表各整点的数据,整点的数据可能没有
现在给定开始时间 1:00和结束时间9:00
这六条数据怎么求?

  • 写回答

3条回答 默认 最新

  • Json-Huang 2019-08-09 11:15
    关注

    from是数据库的关键字,暂时用table1代表第一张存电表,table2代表第二张表(存每个电表各时间点的数据),可以用下面的试下

    SELECT t0.EMeterID,t0.Time,t0.data from table2 t0,
    (SELECT t1.EMeterID,max(Time) as max,min(Time) as min from table2 t1,table1 t2
    where hour(Time)>='1' and hour(Time)<='9'
    and t1.EMeterID = t2.EMeterID
    GROUP BY t1.EMeterID  ) tmp
    where 
    t0.EMeterID = tmp.EMeterID and
    t0.Time in( tmp.min , tmp.max )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部