select b.id,b.name,d.date,d.type from box b,(select time,rank() over(order by time) rk from data where time between 起始时间 and 终止时间)d where rk=1;
我猜的

解决方案 »

  1.   


    这个偶是真的不会,放到mysql版。
      

  2.   

    你这只能查找一条记录呀 要是500多条 难道要循环遍历吗 岂不是很慢 data表中要有几十万条数据呀
      

  3.   

    SELECT *
    FROM box AS A,`data` AS B
    WHERE A.id=B.id AND B.time >='08:00:00' AND B.time<'09:00:00'
        AND NOT EXISTS(SELECT * FROM `data` 
                       WHERE A.id=id AND `time`<B.`time` AND `time` >='08:00:00' AND `time`<'09:00:00')