mySQL查询找到重复的行

时间:2010-10-05 09:14:59

标签: sql duplicates row

〔实施例:

[empid    date      bookid]
----------
1        5/6/2004   8

2        5/6/2004   8

1        5/7/2004   8

1        5/8/2004   6

3        5/8/2004   8

2        5/8/2004   7

在此表中,我需要将empid 1作为输出...因为它不止一次有bookid 8 ..

提前感谢..

2 个答案:

答案 0 :(得分:3)

您可以使用:

SELECT DISTINCT id
FROM table
GROUP BY empid, bookid
HAVING COUNT(*) > 1

但它会给你重复。例如,如果您有1-8,1-8,1-9,1-9,那么您将获得1,1作为输出,因为empid 1具有两个不同bookid值的重复bookid。您需要使用SELECT DISTINCT来过滤掉重复的empid。

答案 1 :(得分:0)

SELECT empid
from table
group by empid
having Count(distinct bookid) > 1