SQL> with ranked_data as (
2 select
3 ttt.*,
4 row_number() over ( partition by testid order by time desc ) as rk,
5 lag(value) over ( partition by testid order by time ) as prev_val
6 from ttt
7 )
8 select testid, value - prev_val as delta
9 from ranked_data
10 where rk = 1;
11 and prev_val is not null