- 创建stu表,记录学生,如下:

- 统计sql
SELECT NAME,COUNT(*) SUM FROM stu GROUP BY NAME HAVING SUM>1 -
查询sql
SELECT * FROM stu WHERE NAME IN (SELECT NAME FROM stu GROUP BY NAME HAVING COUNT(NAME)>1) - 删除sql
DELETE FROM stu WHERE NAME = '张三' AND id > (SELECT * FROM (SELECT MIN(id) MIN FROM stu GROUP BY NAME HAVING COUNT(NAME)>1) tmp) - 删除的sql语句可以看到嵌套了一层临时表,因为会出现1093错误,查询和删除操作不能共存
- 上面的删除过于麻烦
delete from stu where id not in ( select id from (select max(id) from stu group by name ) temp)
mysql中重复数据的统计、查询、删除
最新推荐文章于 2022-03-28 09:26:17 发布
本文介绍了如何使用SQL进行数据操作,包括统计重复姓名的学生数量、查询重复姓名的学生信息以及删除指定姓名的部分记录。通过实际案例展示了复杂SQL语句的构建方法。
1414

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



