状态转换 - 花费的时间。- SQL
State transition - time taken.- SQL
在给定一系列值转换的情况下,我试图找出每个状态所花费的总时间。这是一个例子:
输入:
Time
State
10:00:00
A
10:00:01
A
10:00:02
B
10:00:03
B
10:00:05
A
10:00:07
B
10:00:08
A
10:00:09
B
10:00:20
A
10:00:21
B
输出:
state
time_taken_seconds
A
6
B
15
我无法在 SQL 中使用该功能。非常感谢帮助。
您可以使用分析函数 lead() 来参考下一行的时间。
select state, sum(lap) from (
select
time,
state,
lead(time) over(order by time) - time as lap
from tablenane
)
group by state
在给定一系列值转换的情况下,我试图找出每个状态所花费的总时间。这是一个例子:
输入:
Time | State |
---|---|
10:00:00 | A |
10:00:01 | A |
10:00:02 | B |
10:00:03 | B |
10:00:05 | A |
10:00:07 | B |
10:00:08 | A |
10:00:09 | B |
10:00:20 | A |
10:00:21 | B |
输出:
state | time_taken_seconds |
---|---|
A | 6 |
B | 15 |
我无法在 SQL 中使用该功能。非常感谢帮助。
您可以使用分析函数 lead() 来参考下一行的时间。
select state, sum(lap) from (
select
time,
state,
lead(time) over(order by time) - time as lap
from tablenane
)
group by state