Función de avance / retraso condicional PostgreSQL?
Tengo una mesa como esta:
Name activity time
user1 A1 12:00
user1 E3 12:01
user1 A2 12:02
user2 A1 10:05
user2 A2 10:06
user2 A3 10:07
user2 M6 10:07
user2 B1 10:08
user3 A1 14:15
user3 B2 14:20
user3 D1 14:25
user3 D2 14:30
Ahora, necesito un resultado como este:
Name activity next_activity
user1 A2 NULL
user2 A3 B1
user3 A1 B2
Me gustaría verificar para cada usuario la última actividad del grupo A y qué tipo de actividad tuvo lugar después del grupo B (la actividad del grupo B siempre tiene lugar después de la actividad del grupo A). Otros tipos de actividad no son interesantes para mí. He tratado de usar ellead()
función, pero no ha funcionado.
¿Cómo puedo resolver mi problema?