X~~X~~ 2021-10-21 14:43 采纳率: 34.2%
浏览 64
已结题

sql 语句根据多个相同字段条件删除重复记录

img

框起来的部分时重复的记录,如何使用sql语句删除任意一条重复的记录

  • 写回答

4条回答 默认 最新

  • PHP技术栈 2021-10-21 20:24
    关注

    设表名为:test_user
    DELETE FROM test_user WHERE(type_user,user_u_id,gtrevuser_id)
    IN(SELECT type_user,user_u_id,gtrevuser_id FROM(SELECT type_user,user_u_id,gtrevuser_id FROM test_user GROUP BY type_user,user_u_id,gtrevuser_id HAVING count() > 1) AS A)
    AND id NOT IN(SELECT id FROM(SELECT min(id) AS id FROM test_user GROUP BY type_user,user_u_id,gtrevuser_id HAVING count(
    )>1) AS B)

    DELETE FROM test_user WHERE(type_user,user_u_id,gtrevuser_id)
    IN(SELECT type_user,user_u_id,gtrevuser_id FROM(SELECT type_user,user_u_id,gtrevuser_id FROM test_user GROUP BY type_user,user_u_id,gtrevuser_id HAVING count() > 1) AS A)
    AND id NOT IN(SELECT id FROM(SELECT min(id) AS id FROM test_user GROUP BY type_user,user_u_id,gtrevuser_id HAVING count()>1) AS B)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 10月30日
  • 已采纳回答 10月22日
  • 创建了问题 10月21日