小编use*_*749的帖子

选择具有相同值的“连续”行

我有一个包含以下数据的表:

userID  tStamp                status
------  -------------------   ------
Jason   2017-10-18 03:20:00   idle  
Brown   2017-10-18 03:20:28   idle  
Brown   2017-10-18 03:25:28   idle  
Brown   2017-10-18 04:00:28   active    
Brown   2017-10-18 04:10:28   active    
Brown   2017-10-18 04:35:28   idle  
Brown   2017-10-18 04:45:28   idle  
Run Code Online (Sandbox Code Playgroud)

我想提取具有相同状态连续行。例如,我想查看用户在 'idle' status,然后是 'active' status,然后是 'idle' status,等等所花费的时间。

如何在单个 SQL 查询中执行此操作?

我想要的输出如下:

userID        staus          Duration_in_this_status (min)
------  -------------------   ------
Jason         idle             ---  
Brown         idle              5
Brown         active           10   
Brown         idle             10   
Run Code Online (Sandbox Code Playgroud)

mysql gaps-and-islands

9
推荐指数
1
解决办法
7253
查看次数

标签 统计

gaps-and-islands ×1

mysql ×1