Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
391 views
in Technique[技术] by (71.8m points)

MySQL find duplicates based on another column value

I have the following table

+----+------+-------+
| id | user | value |
+----+------+-------+
|  1 |  10  |   A   |
|  2 |  12  |   B   |
|  3 |  24  |   A   |
|  4 |  33  |   C   |
+----+------+-------+

I want to retreive all the duplicates users that have the same key

+----+------+-------+
| id | user | value |
+----+------+-------+
|  1 |  10  |   A   |
|  3 |  24  |   A   |
+----+------+-------+

I've tried that with no luck

SELECT DISTINCT A.user, A.value
FROM table as A
INNER JOIN ( SELECT value FROM table GROUP BY value HAVING COUNT(value) > 1 ) AS B
ON A.value = B.value 
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You may try below query -

SELECT id, user, value
FROM YUOR_TABLE T1
WHERE EXISTS (SELECT 1
              FROM YOUR_TABLE T2
              WHERE T1.value = T2.value
              AND T1.user <> T2.user)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...