〔实施例:MySQL查询找到重复的行
[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为output..since它BOOKID不止一次8更多..
在此先感谢。 。
〔实施例:MySQL查询找到重复的行
[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为output..since它BOOKID不止一次8更多..
在此先感谢。 。
您可以使用:
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。
Alin Purcaru,谢谢你的ans..query工作正确,如果我添加不同的.. SELECT DISTINCT ID FROM表GROUP BY empid,bookid HAVING COUNT(*)> 1 – anand 2010-10-06 01:09:54
SELECT empid
from table
group by empid
having Count(distinct bookid) > 1
您选择拥有多个不同bookid的empid,该问题不止一次地要求同一个bookid的empid。你的查询会输出1和2,而不仅仅是1. – 2010-10-05 09:20:38
你确定你不想通过'empid','bookid'和'date'进行分组吗?日期的含义可能很重要。 – vol7ron 2010-10-06 01:14:35