简体   繁体   English

MySQL根据另一个列值查找重复项

[英]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 

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)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM