sql >> Database teknologi >  >> RDS >> Mysql

mysql overlapninger af to tabeller i tidsstempler

Jeg forstår ikke rigtig, hvordan datasættet korrelerer med resultatsættet, men det ser ud til, at du vil have noget mere eller mindre som dette...

 SELECT m.id
      , DATE(FROM_UNIXTIME(m.starttime))Date,SUM(m.duration) all_movement
      , SUM(l.duration) all_load
   FROM move_table m
   JOIN load_table l
     ON l.id = m.id
    AND l.endtime > m.starttime
    AND l.starttime < m.endtime
  GROUP 
     BY m.id
      , DATE(FROM_UNIXTIME(m.starttime));
 +-------------------+------------+--------------+----------+
 | id                | Date       | all_movement | all_load |
 +-------------------+------------+--------------+----------+
 | 00:50:c2:63:10:1a | 2012-10-29 |          391 |      520 |
 | 00:50:c2:63:10:1a | 2013-02-22 |          391 |      520 |
 | 00:50:c2:63:10:1b | 2013-02-22 |          181 |      220 |
 +-------------------+------------+--------------+----------+

I øvrigt duration ser ud til at være overflødig i denne sammenhæng, da (for eksempel) SUM(m.endtime-m.starttime) vil give dig det samme resultat.



  1. konsekvenser af at ændre mysql-lagringsmotor, mens applikationen kører i produktion

  2. Hvordan definerer man en unik begrænsning på en kolonne af MySQL-tabellen i Ruby on Rails 3?

  3. Hvorfor Stored Procedure er hurtigere end Query

  4. Tæl antallet af forskellige rækker for flere værdier