查询前15个故障,需要从另一列累计停机时间

时间:2017-12-15 22:07:46

标签: sql sql-server database ignition

我目前正在尝试查询仓库中PLC上排名前15位的故障列表。我已经把那部分搞定了:

LoginComponent

HOOOWEVER我现在需要找出前15个列表中所述故障的累计停机时间,另一列中的信息" Fault_duration"。我该怎么做呢?在此先感谢,你们已经帮助了我很多。

Select top 15 fault_number, fault_message, count(*) FaultCount
from Faults_Stator
where T_stamp> dateadd(hour, -18, getdate())
Group by Fault_number, Fault_Message
Order by Faultcount desc

我知道我不会使用相同的查询,但我对如何执行下一步操作感到茫然。

故障持续时间是一个列,它指示故障持续的时间以毫秒为单位。我试图把那些积累在相应的故障旁边。因此,第一个罪犯会将另外23个单独的故障事件汇总在另一列中。

1 个答案:

答案 0 :(得分:0)

您应该能够使用SUM累加器:

Select top 15 fault_number, fault_message, count(*) FaultCount, SUM (Fault_duration) as FaultDuration
from Faults_Stator
where T_stamp> dateadd(hour, -18, getdate())
Group by Fault_number, Fault_Message
Order by Faultcount desc