users 表中有 两个字段 id 和 name
表数据大概如下:
id name
1 AAA
2 BBB
3 CCC
4 AAA
请写查询语句查询出name字段中重复的值。
这个需要用到子查询 先查询出重复字段的值,根据分组统计name字段相同值的 数据条数大于1的就是重复的数据
即 select name from users group by name having count(*) > 1
查到重复的数据 指的是得到了重复数据的 name值 然后再把这个重复值作为条件去查询
select * from users as a where (a.name) in (select name from users group by name having count(*) > 1);
注意:此时的主查询语句的表名需要取别名 因为子查询用的表名和主查询的表名需要区分
本文介绍了一种使用SQL语句来查找数据库表中重复记录的方法。通过子查询与分组统计,可以有效地找出具有重复name字段的记录。

174万+

被折叠的 条评论
为什么被折叠?



