2012-06-20 136 views
0

所以,如果我有一个表如下SQL查找重复每用户记录

与列

date  datetime 
employee varchar 

,我想找到的所有记录,其中一个特定的用户是相同的日期不止一次

并为每个重复的发现,我需要

date employee numDuplicates 

回答

3

您可以使用GROUP BYHAVING条款:

SELECT employee, [date], Count(*) As numDuplicates 
FROM Table 
GROUP BY employee, [date] 
HAVING COUNT(*) > 1 
ORDER BY COUNT(*) DESC 
1

在您存储在日期时间字段的日期和时间的情况下,那么你需要提取由做该组的日期。在SQL Server 2008及更高版本中,您可以这样做:

select employee, cast([date] as date), count(*) as numDuplicates 
from t 
group by employee, cast([date] as date) 
having count(*) > 1