2010-11-19 75 views
2

我有創造了這個SQL查詢的麻煩找比(N)項的詳細記錄[N = 1]例如,在MySQL查詢查找重複比多(N)條目

我有表

|--id-|--user_id--| 
| 1 | 1  | 
| 2 | 1  | 
| 3 | 1  | 
| 4 | 2  | 
| 5 | 2  | 
| 6 | 3  | 

想在我的表檢索重複

|--id-|--user_id--| 
| 2 | 1  | 
| 3 | 1  | 
| 5 | 2  | 

任何幫助是非常讚賞,感謝閱讀雖然

UPDATE:

我使用MySQL V5.1

+0

所以你不想檢索ID 1或4? – Brad 2010-11-19 15:56:01

+0

是的,我不想獲取任何具有唯一user_id的記錄,就像id = 1,4,6 – Ish 2010-11-19 15:58:03

回答

3

這將是我的做法

SELECT ID, USER_ID 
    FROM TABLE 
GROUP USER_ID 
HAVING COUNT(1) > 1 
MINUS 
SELECT MIN(ID) ID, USER_ID 
    FROM TABLE 
GROUP BY USER_ID 
+0

感謝@Mauro,負號+1 – Ish 2010-11-19 18:54:07

2

編輯:哎呀,沒有看到你使用MySQL。你也許可以調整這個查詢得到它在MySQL

工作

不能確定哪個版本的SQL您使用,但這裏的SQLSERVER答案:

SELECT * from [table_name] GROUP BY user_id HAVING COUNT(*) > n 
+0

感謝Ramy,讓我驗證 – Ish 2010-11-19 16:11:19

+0

專注於MySQL,正是我所需要的。 – superphonic 2014-10-13 16:03:53