sql >> Databáze >  >> RDS >> Mysql

mysql překrývání dvou tabulek v časových razítkách

Opravdu nerozumím tomu, jak datová sada koreluje s výslednou sadou, ale zdá se mi, že chcete něco více či méně podobného...

 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 |
 +-------------------+------------+--------------+----------+

Mimochodem, duration se v tomto kontextu zdá být nadbytečné, protože (například) SUM(m.endtime-m.starttime) vám poskytne stejný výsledek.



  1. Dotazování na více tabulek

  2. Potřebujete pomoc s přístupem k databázi mysql pomocí node.js

  3. Jak synchronizovat data mezi dvěma tabulkami v různých databázích (MYSQL) běžících na různých serverech

  4. JDBC s MySQL je opravdu pomalé, nevím proč