mysql - 我想找到重复的数据?并只显示重复记录?

标签 mysql duplicates

在我的表中有这样的数据

+-----+----------+  
| 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/

相关文章:

java - 我可以在 Java 中重载接口(interface)吗?

MySQL 获取 JSON 值

mysql - 如何使用sql数据库或mysql数据库。没有在database.yml中定义它

mysql - 尝试将媒体存储同步到数据库时 Magento SQLSTATE[42000] 错误

python - 如何按值唯一化字典?

尝试递增日期字段时,MySQL 出现重复输入错误?

mysql - VB.Net Silverlight 项目和 MySQL

mysql - Count Records with in Clause , 可以加上 where 条件

python - 如何根据另一列的过滤器或条件删除数据帧的重复行?

mysqldump + auto_increment 导致主键错误