Ich habe eine Abfrage, die mir die Anzahl der Sekunden zwischen Zeitstempeln für Ereignisse im Produktionslauf einer bestimmten Maschine zurückgibt.Summe der verstrichenen Zeit zwischen Zeitstempeln SQL Server
Ich möchte die gesamte Zeit gruppiert durch den statusCode der Maschine während dieser Dauer. Ex. Betrieb, ungeplante Ausfallzeiten, geplante Ausfallzeiten.
Ich denke, dass dies ein Aggregat eines Aggregats beinhaltet, das ich weiß, ist nicht erlaubt. Ich bin sicher, dass es einen Weg gibt, dies aber
SELECT
p1.productionRunId,
p1.statusCodeId,
DATEDIFF(SECOND, MAX(p2.startTime), p1.startTime) AS seconds
FROM
productionLog p1
INNER JOIN
wincc.dbo.productionLog p2 ON p1.productionRunId = p2.productionRunId
AND p2.startTime < p1.startTime
GROUP BY
p1.startTime, p1.productionRunId, p1.statusCodeId
Here is a picture of my current results with a description of what I would like.
entfernen Sie 'p.startTime' aus' group by'. –