¿Cuánto tiempo dura el funcionamiento del dispositivo informático sqlserver?
Las imágenes de los datos de prueba son las siguientes. Esta solución utiliza la función de ventanas compatible con mysql8.0 y la he probado en Hive.
La idea general es contar solo el tiempo de ejecución->detención, detener->ejecutar filtrado y no se requieren cálculos.
¿Elegir?
id, suma(next_diff_time)/60 tiempo de ejecución
desde (
select id, lead(unix_timestamp(datetime),1,-1)over( partición por id orden por fecha y hora)-UNIX _ marca de tiempo (fecha y hora) siguiente _ diferencia _ hora, estado
de prueba
)tt
¿Dónde está el estado? ! = 'Detener'
Agrupar por id;