Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL:ottieni il timestamp di inizio e fine per ogni giorno

Se va sotto/sopra di nuovo solo una volta al giorno, puoi rendere la query abbastanza semplice; trova solo il tempo minimo e massimo dove si trova sotto, raggruppandoli per data.

SELECT
  DATE(statustime) statusdate,
  MIN(CASE WHEN reading<50 THEN statustime ELSE NULL END) start_time,
  MAX(CASE WHEN reading<50 THEN statustime ELSE NULL END) end_time
FROM myTable
GROUP BY statusdate

Un SQLfiddle con cui testare .