假设我在mysql数据库中有以下数据: table
时间戳
事件
会话\u id
例如,如果数据如下所示:
timestamp event session_id
2014-01-01 01:01:02 Login 1234
2014-01-01 01:01:03 Like 1234
2014-01-01 01:01:05 Logout 1234
要得到这样的结果:
session_id from_event event
1234 null Login
1234 Login Like
1234 Like Logout
我想的是将事件作为有序数组:
select session_id, group_concat(event order by timestamp)
from table
group by session_id
但是从那里我不知道如何构建邻接列表(在sql中)。
1条答案
按热度按时间flvlnr441#
如果您运行的是mysql 8.0,那么只需使用window函数即可
lag()
要获取同一会话的“上一个”事件:在早期版本中,一种替代方法是关联子查询: