在我的表中有这样的数据
+-----+----------+
| sno | name |
+-----+----------+
| 101 | Raju |
| 102 | Raju |
| 103 | Santhosh |
| 104 | Santhosh |
| 105 | madhavi |
| 106 | suheel |
+-----+----------+
因为我想查找重复记录并仅显示 sno(number)
例如输出应该是这样的
+-----+
| sno |
+-----+
| 101 |
| 102 |
| 103 |
| 104 |
+-----+
最佳答案
在派生表中,获取所有具有重复项的name
值。为此,我们可以对 name
进行 GROUP BY
并使用 HAVING
仅考虑那些名称,其中 COUNT(*)
(该名称
的总行数)大于 1。
现在,我们可以连接回主表以获取它们各自的 sno
值
SELECT
t.sno
FROM your_table t
JOIN (SELECT name
FROM your_table
GROUP BY name
HAVING COUNT(*) > 1) dt
ON dt.name = t.name
关于mysql - 我想找到重复的数据?并只显示重复记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53476310/