Как получить время длительность события start и stop в SQL
ПРИВЕТ,
У меня есть таблица базы данных, которая имеет столбец -
[EventTimeStamp], [Message], [Active] 2019-04-10 10:05:36.0374141 FLAVOR DRUM 2 TRIP ALARM 0 2019-04-10 10:05:38.0425288 FLAVOR SCREW 3 TRIP ALARM 0 2019-04-10 10:08:24.4010440 FRYER SUBMERG TRIP ALARM 1 2019-04-10 10:08:26.2111475 FRYER TAKEOUT TRIP ALARM 1 2019-04-10 10:09:02.2432084 EMERGENCY STOP ALARM 1 2019-04-10 10:09:02.2432084 SCREW CONV TRIP ALARM 1 2019-04-10 10:09:04.2133211 CIRCULATION PUMP TRIP ALARM 1 2019-04-10 10:09:04.2133211 HOODLIFTING TRIP ALARM 1 2019-04-10 10:09:04.2133211 VOLTAGE UNBALANCE ALARM 1 2019-04-10 10:09:06.2164357 CIRCULATION PUMP TRIP ALARM 0 2019-04-10 10:09:57.5903741 CROSS CONV TRIP ALARM 0 2019-04-10 10:09:57.5903741 DEOILING CONV TRIP ALARM 0 2019-04-10 10:09:57.5903741 FILTER DRUM TRIP ALARM 0 2019-04-10 10:09:57.5913742 FILTER REEL TRIP ALARM 0 2019-04-10 10:09:57.5913742 FLAVOR AUGER 1 TRIP ALARM 0 2019-04-10 10:09:57.5913742 FLAVOR AUGER 2 TRIP ALARM 0 2019-04-10 10:09:57.5913742 FLAVOR AUGER 3 TRIP ALARM 0 2019-04-10 10:09:57.5923742 FLAVOR DRUM 2 TRIP ALARM 0 2019-04-10 10:09:57.5923742 FLAVOR DRUM 4 TRIP ALARM 0 2019-04-10 10:09:57.5923742 FLAVOR SCREW 1 TRIP ALARM 0 2019-04-10 10:09:57.5933743 FLAVOR SCREW 2 TRIP ALARM 0 2019-04-10 10:09:57.5933743 FLAVOR SCREW 3 TRIP ALARM 0 2019-04-10 10:09:57.5933743 FLAVOR SCREW 4 TRIP ALARM 0 2019-04-10 10:09:57.5933743 SHAKER TRIP ALARM 0 2019-04-10 10:10:08.2569842 BLOWER TRIP ALARM 0 2019-04-10 10:10:08.2569842 CIRCULATION PUMP TRIP ALARM 0 2019-04-10 10:10:08.2569842 EMERGENCY STOP ALARM 1 2019-04-10 10:10:08.2569842 FRYER SUBMERG TRIP ALARM 1 2019-04-10 10:10:08.2579843 FRYER TAKEOUT TRIP ALARM 1 2019-04-10 10:10:08.2579843 HOODLIFTING TRIP ALARM 1 2019-04-10 10:10:08.2579843 PART CONVEYOR 1 TRIP ALARM 0 2019-04-10 10:10:08.2579843 PART CONVEYOR 2 TRIP ALARM 0 2019-04-10 10:10:08.2579843 PART CONVEYOR 5 TRIP ALARM 0 2019-04-10 10:10:08.2579843 SCREW CONV TRIP ALARM 1 2019-04-10 10:10:08.2579843 TRANSFER PUMP TRIP ALARM 0 2019-04-10 10:10:08.2589843 VIBRATOR 1 TRIP ALARM 0 2019-04-10 10:10:08.2589843 VIBRATOR 2 TRIP ALARM 0 2019-04-10 10:10:08.2589843 VOLTAGE UNBALANCE ALARM 1 2019-04-10 10:10:11.2121532 PART CONVEYOR 3 TRIP ALARM 0 2019-04-10 10:10:11.2121532 PART CONVEYOR 4 TRIP ALARM 0 2019-04-10 10:10:11.2131533 PART CONVEYOR 6 TRIP ALARM 0 2019-04-10 10:10:11.2131533 REVERSIBLE FEED CONV 1 REV TRIP ALARM 0 2019-04-10 10:10:11.2141533 REVERSIBLE FEED CONV 2 REV TRIP ALARM 0 2019-04-10 10:10:11.2141533 REVERSIBLE FEED CONV 3 REV TRIP ALARM 0 2019-04-10 10:10:11.2141533 REVERSIBLE FEED CONV 4 REV TRIP ALARM 0 2019-04-10 10:10:11.2151534 SPARE FEEDER TRIP ALARM 0 2019-04-10 10:10:15.2963868 HOODLIFTING DOWN LS 2 ALARM 0 2019-04-10 10:10:15.2963868 HOODLIFTING UP LS 1 ALARM 0 2019-04-10 10:10:15.2963868 OIL LEVEL LOW ALARM 0 2019-04-10 10:10:15.2973869 REVERSIBLE FEED CONV 5 REV TRIP ALARM 0 2019-04-10 10:10:15.2973869 REVERSIBLE FEED CONV 6 REV TRIP ALARM 0 2019-04-10 10:10:15.2973869 REVERSIBLE FEED CONV 7 REV TRIP ALARM 0 2019-04-10 10:10:15.2973869 REVERSIBLE FEED CONV 8 REV TRIP ALARM 0 2019-04-10 10:10:15.2973869 REVERSIBLE FEED CONV 9 REV TRIP ALARM 0 2019-04-10 10:10:32.1793525 ELEVATOR TRIP ALARM 0 2019-04-10 10:10:32.1793525 FLAVOR AUGER 4 TRIP ALARM 0 2019-04-10 10:10:32.1793525 FLAVOR DRUM 1 TRIP ALARM 0 2019-04-10 10:10:32.1813526 FLAVOR DRUM 3 TRIP ALARM 0 2019-04-10 10:10:32.1813526 FRYER INLET TEMP LOW ALARM 0 2019-04-10 10:10:32.1813526 REVERSIBLE FEED CONV 10 REV TRIP ALARM 0
Где время события-это время, сообщение-это событие, а 0 и 1 показывают условия включения или выключения сообщения
я должен сделать эту таблицу в следующем формате
MESSAGE EVENT IN TIME EVENT OUT TIME DURATION
Пожалуйста, помогите решить эту проблему
Что я уже пробовал:
я сделал две отдельные таблицы как для события INTIME, так и для события OUTTIME и присоединился к ним с помощью столбца message. но там, где события on доступны, а outtime недоступен, он повторяет значение.
CHill60
Если у вас нет двух столов, это не поможет. Во-первых, как создаются записи в вашей таблице? Является ли это "опросом", то есть текущее состояние тревоги проверяется на регулярной основе. Или это "срабатывает", то есть запись должна записываться всякий раз, когда изменяется активный статус?
Таблица, которую вы представили в качестве примера, не соответствует ни одному из этих описаний и кажется совершенно случайной.
Кроме того, можем ли мы сделать какие - либо предположения для данных вне диапазона - например, можем ли мы предположить, что начальное состояние любого сигнала тревоги "выключено" или оно должно быть противоположно первому записанному состоянию?
После того, как мы установили, как заполняется таблица, мы можем дать рекомендации по методам определения продолжительности.
Gerry Schmitz
Что вы хотите, чтобы произошло, когда нет OUTTIME для INTIME?