Conditional lead/lag function PostgreSQL?

后端 未结 2 1632
一向
一向 2020-12-10 17:41

I have a table like this:

Name   activity  time

user1  A1        12:00
user1  E3        12:01
user1  A2        12:02
user2  A1        10:05
user2  A2                


        
2条回答
  •  萌比男神i
    2020-12-10 18:27

    select      distinct on(name) name,activity,next_activity
    
    from       (select name,activity,time
                      ,lead(activity) over (partition by name order by time) as next_activity
    
                from   t
    
                where  left(activity,1) in ('A','B')
                ) t
    
    where       left(activity,1) = 'A'
    
    order by    name,time desc
    

提交回复
热议问题