I tried using sql pivot, but it's not working, getting null value.
Before data:
NAME OPERATION TIMESTAMP
A START 18/01/2024 8:24
A START 18/01/2024 8:27
A START 18/01/2024 8:30
A END 18/01/2024 8:34
B START 18/01/2024 9:28
B END 18/01/2024 9:32
B START 18/01/2024 9:37
B END 18/01/2024 9:39
C START 18/01/2024 10:14
C END 18/01/2024 10:18
After data (What I need):
NAME START_EVENT START_TIME END_EVENT END_TIME DURATION
A START 18/01/2024 8:24 END 18/01/2024 8:34 0.006944444
B START 18/01/2024 9:28 END 18/01/2024 9:32 0.002777778
B START 18/01/2024 9:37 END 18/01/2024 9:39 0.001388889
C START 18/01/2024 10:14 END 18/01/2024 10:18 0.002777778
From Oracle 12, you can use
MATCH_RECOGNIZEfor row-by-row pattern matching:Which, for the sample data:
Outputs:
fiddle