2016-04-07 27 views
-1

我想找到员工的ID是谁从下面的考勤表超过2天的工作的工作:发现员工谁了超过2天

id date status 
1 16-04-06 w 
1 16-04-07 w 
1 16-04-08 w 
2 16-04-06 nw 
2 16-04-07 nw 
2 16-04-07 w 

其中w意思是“工作”和NW手段“没有工作'。 我曾尝试以下:

我不知道为什么我需要使用myalias。但是,如果我不使用它,有一个错误说“每个派生表必须有自己的别名”。这个查询给出了所需的输出。你能帮我做一个有效的查询。在此先感谢

回答

1

集团通过ID表,然后用COUNT(*)>过滤器2

Select id from attendance where status = 'w' group by id having count(*) > 2; 
1

试试这个:

select distinct id from attendance where status='w' group by id having count(1) > 2

SQLFiddle

1

尝试:

SELECT id 
FROM 
attendance 
WHERE status = 'w' 
GROUP BY id 
HAVING COUNT(status) > 2