zoukankan      html  css  js  c++  java
  • 一条sql语句删除两条重复值的语句

        在处理数据库表数据实,常常会遇到有重复数据的情况,这样的情况往往还就两条纪录重复,删除重复记录有好多方法,用程序循环来实现,也可用sql语句来实现,下面就介绍用sql语句实现的方法。

        首先从上千条记录中找出是重复的记录,sql语句:
    select 
        keyColumn 
    from
        testTable 
    group by keyColumn 
    having count(*)>1
    
    其中 keyColumn 就是关键列,以此来区分,其他数据。

        其次,找出要删除的一列,怎么找,当然要根据能区分两条重复记录的标识了,别告诉我没有,那就建立一个自增id吧,下面也已自增id来区分数据的:
    select 
        max(id) 
    from 
        testTable 
    where
        keyColumn 
     in
    (
        select 
            keyColumn 
        from
            testTable 
        group by keyColumn 
        having count(*)>1
    )
    group by keyColumn,id
    
    上面是要删除两条记录中最大id的记录,min函数就是删除最小的。
        最后就是真正的要删除了,sql语句:
    delete from keyColumn
    where 
        id in
    (
        select 
            max(id) 
        from 
            testTable 
        where
            id in
        (
            select 
                keyColumn 
            from
                testTable 
            group by keyColumn 
            having count(*)>1
        )
        group by keyColumn,id
    )
    
  • 相关阅读:
    子元素如何不继承父元素透明度
    js深度复制对象
    webstorm快捷键
    js触屏滑动事件
    DOM学习笔记
    attribute & property --- jquery attr() & prop()
    javascript学习笔记(通用)-2015-08
    javascript学习笔记(数组)-2015-08
    mustache语法整理
    代码优化
  • 原文地址:https://www.cnblogs.com/xuxiaoshuan/p/2534833.html
Copyright © 2011-2022 走看看