如何在SQL中获取启动和停止事件的持续时间 [英] How to get time duration of start and stop event in SQL

查看:131
本文介绍了如何在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:3​​2.1793525 ELEVATOR TRIP ALARM 0
2019-04-10 10:10:3​​2.1793525 FLAVOR AUGER 4 TRIP ALARM 0
2019-04-10 10:10:3​​2.1793525 FLAVOR DRUM 1 TRIP ALARM 0
2019-04-10 10:10:3​​2.1813526 FLAVOR DRUM 3 TRIP ALARM 0
2019-04-10 10:10:3​​2.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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆