如何在SQL中获取启动和停止事件的持续时间 [英] How to get time duration of start and stop event in SQL
本文介绍了如何在SQL中获取启动和停止事件的持续时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
HI,
我有一个数据库表,其中包含列 -
[EventTimeStamp] ,[消息],[有效]
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紧急停车报警1
2019-04-10 10:09:02.2432084 SCREW CONV TRIP ALARM 1
2019-04-10 10:09:04.2133211循环泵行程报警1
2019-04- 10 10:09:04.2133211 HOODLIFTING TRIP ALARM 1
2019-04-10 10:09:04.2133211电压不平衡报警1
2019-04-10 10:09:06.2164357循环泵跳闸报警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循环泵跳闸报警0
2019-04-10 10:10:08.2569842紧急停车报警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转移泵跳闸报警0
2019-04-10 10:10:08.2589843振动器1跳闸报警0
2019-04-10 10:10:08.2589843 VIBRATOR 2 TRIP ALARM 0
2019- 04-10 10:10:08.2589843电压不平衡报警1
2019-04-10 10:10:11.2121532零件输送机3跳闸报警0
2019-04-10 10:10:11.2121532零件输送机4跳闸报警0
2019-04-10 10:10:11.2131533零件输送机6跳闸报警0
2019-04-10 10:10:11.2131533可逆馈电转换1 REV跳闸报警0
2019- 04-10 10:10:11.2141533可反转进给CONV 2 REV TRIP ALARM 0
2019-04-10 10:10:11.2141533可反转进给CONV 3 REV TRIP ALARM 0
2019-04-10 10:10 :11.2141533 REVERS IBLE 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可转换进给CONV 5 REV TRIP ALARM 0
2019-04-10 10:10:15.2973869可反转进给CONV 6 REV TRIP ALARM 0
2019-04-10 10:10:15.2973869可反转进给CONV 7 REV TRIP报警0
2019-04-10 10:10:15.2973869可逆馈电转换8转速报警报警0
2019-04-10 10:10:15.2973869可反转馈电转换9 REV TRIP报警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 REVERSIB LE FEED CONV 10 REV TRIP ALARM 0
如果事件时间是时间,则消息为事件,0和1显示消息开启或关闭条件
i必须将此表格格式化为以下格式
MESSAGE活动时间及时间
请帮忙解决这个问题
我尝试过:
i为INTIME事件和OUTTIME事件制作了两个单独的表,并使用消息列加入两者。但是如果有事件可用且没有时间,则重复该值。
解决方案
您希望下一次成为外出时间吗?
https://blog.sqlauthority.com/2013/09/22/sql-server-how-to-access-the-previous-row-and-next -row-value-in-select-statement / [ ^ ]
如果按时间顺序,您可以查询下一行的值
HI,
I have a database table which is having column -
[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
Where event time is time, message is event and 0 and 1 is showing message on or off conditions
i have to make this table as below format
MESSAGE EVENT IN TIME EVENT OUT TIME DURATION
Please help to resolve this
What I have tried:
i have made two individual tables for both INTIME event and OUTTIME event, and join to both with message column. but where events on is available and outtime is not available it is repeating the value.解决方案Do you want the next time to be the out time?
https://blog.sqlauthority.com/2013/09/22/sql-server-how-to-access-the-previous-row-and-next-row-value-in-select-statement/[^]
If you order by time, you can query values from the next row
这篇关于如何在SQL中获取启动和停止事件的持续时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文