美文网首页
sql 删除重复数据

sql 删除重复数据

作者: 巡山的小猴子 | 来源:发表于2018-07-26 12:58 被阅读0次

第一步查出重复数据

    select id from phone_blacklist where (userid,phone) in 
    (
        select userid,phone from phone_blacklist 
        group by userid,phone having count(*) > 1 
    )

第二步排除不想删除的第一条

    select id from phone_blacklist where (userid,phone) in 
    (
        select userid,phone from phone_blacklist 
        group by userid,phone having count(*) > 1 
    )
    and id not in
    (
        select min(id) from phone_blacklist 
        group by userid,phone having count(*) > 1 
    )

第三步开始删

delete from phone_blacklist where id in
(
    select id from
    (
        select id from phone_blacklist where (userid,phone) in 
        (
            select userid,phone from phone_blacklist 
            group by userid,phone having count(*) > 1 
        )
        and id not in
        (
            select min(id) from phone_blacklist 
            group by userid,phone having count(*) > 1 
        )
    ) as a
);

相关文章

  • mysql优化笔记(3)----SQL操作优化

    1、删除重复数据查询重复数据 删除重复数据 2、分区统计 需求 sql语句 3、捕获有问题的SQL 启动mysql...

  • 查询MySQL数据库中重复数据并删除

    需求:删除表中重复的数据,保留一条记录,其余的删除 下面这条SQL语句的功能就是查询出单表中重复的数据并删除 咱们...

  • sql 删除重复数据

    第一步查出重复数据 第二步排除不想删除的第一条 第三步开始删

  • SQL删除重复数据,只保留一行

    在sql的使用中,我们总是碰到需要删除重复数据的情况,但是又不能全部删除完,必须要保留至少一个重复的数据。重复的记...

  • SQL Server删除重复数据

    //选择表tableName中数据,除去重复数据,#temp表为临时中转数据的表 //tableName表为重复数...

  • SQL删除重复数据记录

    问题背景: 删除一张表中记录重复的数据,保证数据不重复(通过两个字段查询到的数据是不重复的)。 个人解决思路: ...

  • Mysql 一些实用方法笔记!

    sql 注入: sql 导入数据: 批量插入数据: sql 关联更新多表数据: sql 关联删除多表数据: mys...

  • 【LeetCode】196. 删除重复的电子邮箱

    LeetCode数据库题目 题目 编写一个 SQL 查询,来删除 Person表中所有重复的电子邮箱,重复的邮箱里...

  • sql 操作

    删除重复的数据 查询重复的数据

  • SQL基础语句

    SQL 基本语句记录 新建表 删除表: 插入数据: 删除数据: 更新数据: 新增字段: 删除字段: 修改字段: 重...

网友评论

      本文标题:sql 删除重复数据

      本文链接:https://www.haomeiwen.com/subject/wsqbmftx.html