关于 mysql 数据库中 删除重复数据

6 篇文章 0 订阅
  • 小问题大细节,参考文章 :
  • 重点是第二个链接,第一个链接的思路是好的,但是第二的方法和总结更好。
  • https://www.cnblogs.com/luyingfeng/p/5772262.html
  • https://www.cnblogs.com/liyue-sqsf/p/9076902.html

表如下:
在这里插入图片描述

DELETE from S_score2 where id IN (
-- 	这里再加 一个 select 语句,因为 
--  警告:不能根据本表的查询结果来更新本表的数据,所以给表起个别名
	select * from (
		SELECT id from S_score2 
		where 
		(姓名, 课程) in
		(SELECT 姓名, 课程 FROM S_score2 GROUP BY 姓名, 课程 HAVING COUNT(*) > 1)
		and 
		id not in (SELECT min(id) from S_score2 GROUP BY 姓名, 课程 HAVING count(*)> 1)
) as stu_score

);
总结:

这个问题看似简单,想了 很多种解法,更想了很久~ 不多说了,大家仔细看那两个链接,并且最好先以自己的思路去实现下。
结束。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值