按订单/范围概念分组

时间:2015-11-10 11:48:37

标签: mysql sql

我使用mySql并遇到问题。 我的表任务

中有以下记录
idTask | User | Task  | Step
-----------------------------
1      |   1  | Task1 |  1
2      |   1  | Task2 |  2
3      |   2  | Task3 |  3
4      |   1  | Task4 |  4
5      |   1  | Task5 |  5

我想检索该记录集中的数据:

 User 
--------
   1  
   2  
   1  

用户组不尊重订单并给我以下结果。

 User 
--------
   1  
   2  

是否可以使用简单的查询?

2 个答案:

答案 0 :(得分:1)

这是一个标准的序列开始和结束'图案:

UITableViewController

答案 1 :(得分:0)

这很棘手。不知何故,您需要确定用户何时与前一个用户不同。

这是一种方法。它使用相关子查询来标识给定用户之前不同的用户数。这会为用户分配一个分组,可用于group by

select user
from (select t.*,
             (select count(*)
              from task t2
              where t2.idtask <= t.idtask and t2.user <> t.user
             ) as grp
      from task t
     ) t
group by grp, user
order by min(id);