sql >> Databasteknik >  >> RDS >> Mysql

Mysql gå med med tidsmatchning

Prova detta:

SELECT j.id, j.starttime, j.endtime, j.jobname, c.cpuusage
FROM
(
    SELECT j.id, j.starttime, j.endtime, j.jobname, MAX(c.usagetime) AS usagetime
    FROM jobinfo AS j
    LEFT JOIN cpuinfo AS c
    ON c.usagetime <= j.starttime
    GROUP BY j.id
) AS j
JOIN cpuinfo AS c
ON j.usagetime = c.usagetime

Detta ger resultatet du ville ha. Den hittar det senaste värdet av cpuusage före starttiden för varje jobb. Den hanterar inte ändringar i cpuanvändning medan jobbet körs.



  1. Varför returnerar PDO::lastInsertId 0?

  2. Bli tänd med Apache Spark – Del 1

  3. Lägger till en ny SQL-kolumn med ett standardvärde

  4. MySQL standarddatum() + 14 dagar, för en kolumn?