Есть таблица журнала событий изменения метрик-триггеров (включено/выключено) со следующей структурой:
Table `log`:
+-------------+----------+--------------------------+
| metric_type | int | Тип метрики |
+-------------+----------+--------------------------+
| date_change | datetime | Дата изменения состояния |
+-------------+----------+--------------------------+
| state | tinyint | Состояние (вкл./выкл.) |
+-------------+----------+--------------------------+
В таблице регистрируется состояние неких метрик. Причем регистрация происходит только в момент изменения метрики.
Пример данных: метрика "1" была в состоянии "1" с 2017-04-27 22:00 до 2017-06-02 10:00:
+-------------+---------------------+-------+
| metric_type | date_change | state |
+-------------+---------------------+-------+
| 1 | 2017-04-20 10:00:00 | 0 |
+-------------+---------------------+-------+
| 1 | 2017-04-27 22:00:00 | 1 |
+-------------+---------------------+-------+
| 1 | 2017-06-02 10:00:00 | 0 |
+-------------+---------------------+-------+
Как с помощью SQL можно почитать сколько времени находилась метрика в состоянии "1" в произвольно заданный диапазон времени?