小编Muh*_*han的帖子

根据连续出现的情况对数据进行计数和分组

我很难定义问题,也许你通过我的虚拟数据理解它

我有这个数据:

PK, TaskPK
1, 1    
2, 1     
3, 2    
4, 2    
5, 5    
6, 1 
7, 1     
8, 2 
9, 2   
10, 5    
11, 5
Run Code Online (Sandbox Code Playgroud)

现在我必须数TaskPK一下,我提出这个查询

Select PK, TaskPK, Count(*)
From tbl
Group by TaskPK
Run Code Online (Sandbox Code Playgroud)

带来了这样的结果

TaskPK, Count(*)
1, 4
2, 4
5, 3
Run Code Online (Sandbox Code Playgroud)

但我想要稍微不同的结果

像这样

TaskPK, Count(*)
1, 2
2, 2
5, 1
1, 2
2, 2
5, 2
Run Code Online (Sandbox Code Playgroud)

上面的结果基于连续的数据出现,因为TaskPK从1开始(它分组在一起),然后它改变它2(它分组在一起),然后5(它分组在一起)taskPK。但是当TaskPK再次变为1时,那么它应该单独分组,不与之前出现的1联系起来,这个任务单独计数

这可能吗?

mysql gaps-and-islands

2
推荐指数
1
解决办法
4683
查看次数

标签 统计

gaps-and-islands ×1

mysql ×1