【发布时间】:2018-08-10 03:35:37
【问题描述】:
我有一个用户完成了一系列事件。我想记录他们完成每个事件的次数和顺序。
所以对于下表user_events:
name eventname time
Ted a 12:01
Ted b 12:02
Ted b 12:03
Ted b 12:04
Ted c 12:05
Ted b 12:06
Ted b 12:07
Ted c 12:08
Ted b 12:09
Ted b 12:11
Ted b 12:12
我应该得到:
name eventname event_sequence_number time_started frequency
Ted a 1 12:01 1
Ted b 2 12:02 3
Ted c 3 12:05 1
Ted b 4 12:06 2
Ted c 5 12:08 1
Ted b 6 12:09 3
我一直在尝试使用 rank()、dense_rank()、row_number() 和 lag(),但无法将它们放在一起。有什么想法吗?
【问题讨论】:
标签: sql postgresql sequence aggregation gaps-and-islands