Я пытаюсь решить проблему MySQL, не сходя с ума.Не уверен, возможно ли это или нет.Данные поступают от датчика двери / освещения, чтобы определить, занят ли туалет.Когда дверь закрыта или открыта, я получаю информацию + информацию о свете.Если у меня есть информация о закрытой двери и свете <10, я говорю, что туалет не занят, если свет> 10, туалет занят, а если дверь открыта, туалет не занят.
Вот примериз моих данных:
id wc_id door_open light time
138 0 1 64 2018-10-10 12:28:51
139 0 0 58 2018-10-10 12:34:00
140 0 0 54 2018-10-10 12:34:38
141 0 1 68 2018-10-10 12:35:11
142 0 1 3 2018-10-10 12:35:36
143 0 0 60 2018-10-10 12:37:56
144 0 0 60 2018-10-10 12:37:57
145 0 0 57 2018-10-10 12:38:30
146 0 1 65 2018-10-10 12:43:53
147 0 1 3 2018-10-10 12:44:17
148 0 0 63 2018-10-10 13:10:55
149 0 0 59 2018-10-10 13:11:16
150 0 1 71 2018-10-10 13:12:09
151 0 1 4 2018-10-10 13:12:14
152 0 1 1 2018-10-10 13:15:07
153 0 0 62 2018-10-10 13:17:18
154 0 0 58 2018-10-10 13:18:01
155 0 1 68 2018-10-10 13:19:20
156 0 1 3 2018-10-10 13:19:56
157 0 1 42 2018-10-10 13:26:41
158 0 0 63 2018-10-10 13:26:44
159 0 0 58 2018-10-10 13:27:39
160 0 1 71 2018-10-10 13:27:40
161 0 1 3 2018-10-10 13:28:37
Идея в конце состоит в том, чтобы иметь только серию от door_open до 0 к 1, невозможно иметь два 0 или два 1 подряд.Поэтому мне нужно сохранить сначала door_open=0
с light>10
после door_open=1
, и сначала door_open=1
после door_open=0
, независимо от значения освещения.
Возможно ли это с MySQL?Я использую MariaDB 10.3.9.
Спасибо за ваши идеи.
Вывод должен быть таким:
id wc_id door_open light time
139 0 0 58 12:34:00
141 0 1 68 12:35:11
143 0 0 60 12:37:56
146 0 1 65 12:43:53
148 0 0 63 13:10:55
150 0 1 71 13:12:09
153 0 0 62 13:17:18
155 0 1 68 13:19:20
158 0 0 63 13:26:44
160 0 1 71 13:27:40
(я упростил время, это не очень важновот) Вот такая скрипка