Berechnung der Nachtschichtstunden

Ich bin mit einem Problem fest, ich muss ein Anwesenheitssystem erstellen, wo ich eine Mitarbeiter-ID und Stanzzeit habe.

Es kann mehrere Schläge an einem Tag geben. Also erstmal für Nachtschichtmitarbeiter kann ich seine tatsächliche Ein- und Auslaufzeit nicht bestimmen und damit auch nicht die Dauer.

Zum Beispiel kam eine Person am 11. April um 23 Uhr und am 2. April um 4 Uhr. Zwischendurch ging er auch zum Abendessen oder Tee.

Ich habe keine feste Anzahl von Schlägen. Und ich muss auch 2 Termine behandeln. So min und max Logik funktioniert nicht.

Das Hauptproblem ist, dass es mehrere Punch-Ins und row_number nicht funktionieren, wie Schläge sind von 2 verschiedenen data im Falle der Nachtschicht.

Bild1

hier tktno ist employeeID, date ist die punching time und sno, ist die Anzahl der Schläge an einem Tag. Ich habe Ihnen eine Beispieldaten eines Nachtschichtangestellten geschickt.

Ich benötige data im angegebenen Format – Bild2

Aber hier, wie Sie sehen können die Stunden Berechnung ist nicht richtig. Ich möchte es korrigieren