m0_63645168 2022-03-29 12:10 采纳率: 83.3%
浏览 212
已结题

Mysql重复数据去重保留一条数据 多字段去重

https://blog.csdn.net/weixin_30410999/article/details/97993287
和这位博主类似
有一张表student 数据如下
id name subject teacher
1 张三    英语     z
2 张三    英语     z
3 李四    数学     l
4 王五    英语     z
5 王五    数学     l
6 王五    英语     z

根据 name,subject ,teacher 三个字段进行重复数据去重 相同数据 保留一条(保留哪条不做限制) ,其余删除 (可最多加一个时间字段)
例如 此表保留后如下:
id name subject teacher
1 张三     英语     z
3 李四     数学      l
4 王五     英语     z
5 王五     数学      l

  • 写回答

4条回答 默认 最新

  • CSDN专家-showbo 2022-03-29 12:38
    关注

    mysql版本是多少?8+有个row_number生成序号,删除序号大于1的记录即可,SQL如下

    img

    delete from student where id in(
    select id from(select name,subject,teacher,Id , row_number() over(partition by name,subject,teacher order by id) as rn from student)t where t.rn>1
    )
    

    或者 not in

    delete from student where id not in(
    select id from(
    SELECT min(id) id FROM `student` group by name,subject,teacher)t
    )
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 4月6日
  • 已采纳回答 3月30日
  • 修改了问题 3月29日
  • 修改了问题 3月29日
  • 展开全部

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部