sql >> Base de Datos >  >> RDS >> Mysql

Mysql se une con coincidencia de tiempo

Prueba esto:

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

Esto le da la salida que quería. Encuentra el valor más reciente de cpuusage antes de la hora de inicio de cada trabajo. No maneja los cambios en el uso de la CPU mientras se ejecuta el trabajo.