查询具有特定开始事件的事件序列

Query sequences of event with a specific starting event

我正在尝试从 Firebase 查询事件数据。目标是为具有以事件 a 开头的事件序列的用户获取最后一个事件。事件按时间排序。我已经尝试了一些 lead、join 等方法,但无法产生预期的结果。

示例数据:

user_id event_name
1 a
1 b
1 c
2 b
2 a
3 a
4 a
4 b

理想输出:

user_id event_name
1 c
3 a
4 b

The events are ordered by time.

所以,我假设您的列确实以某种方式命名为 time
考虑以下方法

select  user_id, event_name
from your_table
where true 
qualify 1 = row_number() over(partition by user_id order by time desc)
and 'a' = first_value(event_name) over(partition by user_id order by time)    

如果应用于您问题中的示例数据 - 输出为