Я пытаюсь создать отчет, который покажет, как долго работает автоматическая спринклерная система. Система состоит из нескольких спринклеров, каждый из которых отслеживает только сам себя, а затем отправляет эту информацию в базу данных. Моя проблема заключается в том, что у каждого спринклера есть свое собственное время выполнения (IE, если 5 спринклеров все работали одновременно в течение 10 минут, оно сообщило бы об общем времени работы 50 минут), и я хочу знать только чистую сумму прогона время - в этом примере это будет 10 минут.Как найти, где существует общее состояние
База данных состоит из метки времени и булева, где она записывает отметку времени каждый раз, когда спринклер закрыт или выключен (состояние включения/выключения указано 1/0 логического значения).
Таким образом, чтобы выяснить общее время в сети, которое было в каждый день - независимо от того, был ли он одним спринклером, или все из них - мне нужно проверить базу данных на временные рамки, где никакие спринклеры не были вообще повернуты (или где ЛЮБОЙ спринклер вообще был включен). Я думаю, что начало запроса будет выглядеть как
SELECT * FROM MyTable
WHERE MyBoolean = 0
AND [ ... ]
Но я не уверен, что условные операторы, которые будут следовать и будут, как проверить метки времени.
Есть ли запрос, который я могу отправить в базу данных, которая сообщит об этом формате информации?
EDIT:
Вот таблица данные записываются - это буквальна только имя, логическая и дата и время, когда булево был изменен, и это вся база данных
показать вашу схему .. правильный образец данных и ожидаемый результат – scaisEdge
Это 1-таблица базы данных, поэтому нет никаких связей с другими таблицами для схемы, и ожидаемые результаты, которые я чувствовал, были объяснены в вопросе: я пытаюсь чтобы получить возврат любого случая, когда все распылители были установлены на 0 одновременно (я не очень хорош с базами данных, поэтому, возможно, в вашем запросе чего-то не хватает) –
Ищите «интервальную упаковку». –