我已经阅读了许多涉及在 SQL 中配对记录的 SO 问题,但没有一个使用像这样的会话计数器。我已经简化了应该非常适用于许多人的问题的通用实例。
本质上,我有一个 mySQL 表,它记录带有时间戳的单个事件和一个递增的“会话计数器”,每个新会话都会重置为 0,如下所示:
time counter
t0 0
t1 1
t2 2
t3 0
t4 1
t5 0
t6 1
t7 2
t8 3
t9 4
我想获取该数据并将每个会话的第一个和最后一个时间戳(并最终计算时间增量)配对为每个会话的 1 行。所以所需的输出将是这样的:
start counter end counter
t0 0 t2 2
t3 0 t4 1
t5 0 t9 4
我已经阅读了一些使用 LEAD 和 LAG 函数的解决方案,但这在 MySQL 中不可用,并且替代实现超出了我的理解水平。我知道我可以在 Excel / Python 中强制执行此操作,但是是否有一个相对简单的 mySQL 查询可以完成此操作?