Mysql
 sql >> база данни >  >> RDS >> Mysql

mysql припокривания на две таблици във времеви марки

Наистина не разбирам как наборът от данни корелира с набора от резултати, но ми се струва, че искате нещо повече или по-малко подобно...

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

Между другото, duration изглежда излишно в този контекст, тъй като (например) SUM(m.endtime-m.starttime) ще ви даде същия резултат.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysqli_affected_rows за UPDATE понякога връща 0 при пълно съвпадение на редове

  2. Yii Изпълнете MySql заявка

  3. Преминаване през mysql_fetch_array в PHP

  4. Каква е разликата между използването на INDEX срещу KEY в MySQL?

  5. MySQL трябва да направи колоната НЕ УНИКАЛНА. Грешка Не може да пусне „ColumnName“ проверете дали колоната/ключът съществува