我试图让第一步时间戳到秒步长,以计算在两个步骤post:/login_request
和post:/login
之间花费了多少时间,使用lag()
,但它需要时间戳每一步,并添加它的下一个记录.
*-----------------------------------------------------------------------------------------*
| device_serial | device_gen | status_code | method | event_time |
*-----------------------------------------------------------------------------------------*
| ABC345 | i13 | 200 | post:/login_request | 3/3/24 23:10:05 |
| ABC345 | i13 | 200 | post:/login | 3/3/24 23:10:10 |
| EFG456 | i13 | 200 | post:/login_request | 3/3/24 18:37:25 |
| EFG456 | i13 | 200 | post:/login | 3/3/24 18:37:28 |
| EFG456 | i13 | 200 | post:/login_request | 3/3/24 21:58:44 |
| EFG456 | i13 | 200 | post:/login | 3/3/24 21:58:48 |
*-----------------------------------------------------------------------------------------*
我的问题和100:
select
device_serial,
device_gen,
status_code,
method,
event_time,
lag(event_time) over(partition by device_serial, status_code order by event_time) as first_step_ts
from test_tbl
我得到的是:
*-----------------------------------------------------------------------------------------------------------*
| device_serial | device_gen | status_code | method | event_time | prev_ts |
*-----------------------------------------------------------------------------------------------------------*
| ABC345 | i13 | 200 | post:/login_request | 3/3/24 23:10:05 | |
| ABC345 | i13 | 200 | post:/login | 3/3/24 23:10:10 | 3/3/24 23:10:05 |
| EFG456 | i13 | 200 | post:/login_request | 3/3/24 18:37:25 | |
| EFG456 | i13 | 200 | post:/login | 3/3/24 18:37:28 | 3/3/24 18:37:25 |
| EFG456 | i13 | 200 | post:/login_request | 3/3/24 21:58:44 | 3/3/24 18:37:28 |
| EFG456 | i13 | 200 | post:/login | 3/3/24 21:58:48 | 3/3/24 21:58:44 |
*-----------------------------------------------------------------------------------------------------------*
我真正想要的是:
*-----------------------------------------------------------------------------------------------------------*
| device_serial | device_gen | status_code | method | event_time | prev_ts |
*-----------------------------------------------------------------------------------------------------------*
| ABC345 | i13 | 200 | post:/login_request | 3/3/24 23:10:05 | |
| ABC345 | i13 | 200 | post:/login | 3/3/24 23:10:10 | 3/3/24 23:10:05 |
| EFG456 | i13 | 200 | post:/login_request | 3/3/24 18:37:25 | |
| EFG456 | i13 | 200 | post:/login | 3/3/24 18:37:28 | 3/3/24 18:37:25 |
| EFG456 | i13 | 200 | post:/login_request | 3/3/24 21:58:44 | |
| EFG456 | i13 | 200 | post:/login | 3/3/24 21:58:48 | 3/3/24 21:58:44 |
*-----------------------------------------------------------------------------------------------------------*
有没有人能给我一些指导,告诉我怎样才能达到以上的效果.