Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

mysql tumpang tindih dari dua tabel dalam cap waktu

Saya tidak begitu mengerti bagaimana kumpulan data berkorelasi dengan kumpulan hasil tetapi menurut saya Anda menginginkan sesuatu yang kurang lebih seperti ini...

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

Kebetulan, duration tampaknya berlebihan dalam konteks ini karena (misalnya) SUM(m.endtime-m.starttime) akan memberi Anda hasil yang sama.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memilih nilai yang dikelompokkan ke pengidentifikasi tertentu

  2. Mysql Pilih hanya persentase baris

  3. kueri sql sederhana, gabungkan hasil dan bagi

  4. Logika Kueri Pemula SQL Dengan 3 Tabel

  5. Simpan array di database mysql