Calcular tiempo

Hola a todos, estoy realizando un programa en el que introduzco la hora y estado de una máquina en una base de datos. El estado que se envía es 1 cuando funciona y 0 si se ha parado. Posteriormente realizo una consulta para obtener esos datos y calcular el tiempo que la máquina ha estado parada o funcionando. ¿Cómo puedo calcular estos tiempos?. Con un for recorro el array.
Un saludo

If you are using a SQL database, you should be able to do the calculation in SQL. Using GROUP BY