zoukankan      html  css  js  c++  java
  • 【转】数据库的几种去重方法总结

    一、数据库中的去重操作(删除数据库中重复记录的SQL语句)主要有三种方法

    (1)、rowid方法

    (2)、group by 方法

    (3)、distinct方法

    1、用rowid方法

    根据Oracle带的rowid属性,可以进行判断是否存在重复语句;

    (1)、查出表1和表2中name相同的数据

    Select * from table1 a

    Where rowid !=(select max(rowid)

           from table2 b

      Where  a.name1 = b.name1

      And  a.name2 = b.name2......)

    (2)、删除表1和表2 中name相同的所有数据

    Delete from table1 a

    Where rowid !=(select max(rowid)

     From table2 b

     Where  a.name1 = b.name1

     And  a.name2 = b.name2.......)

    2、用group by方法

    主要用于分组统计,一般都是使用在聚合函数中使用;

    (1)、查数据

    Select count(num), max(name) from student 列出表中的重复的记录数和学生名字的属性,

    Group by num

    Having count(num)>1 并按照num分组后找出表中num列出现次数大于一次的。

    (2)、删除数据

    Delete from student

    Group by num

    Having count(num)>1

    //删除表中num列所有重复的数据

    3、用distinct方法

    一般用于比较小的表进行去重,会过滤掉多余的重复记录,返回不重复的记录或字段;

    (1)、select distinct name

     From student

    转自:https://blog.csdn.net/Warpar/article/details/72983835

  • 相关阅读:
    每日算法
    每日算法
    每日算法
    每日算法
    2020 蓝桥杯(省赛)校内模拟赛
    js 时间戳转特定格式的日期
    js正则表达式 replace替换url的参数
    7月/暑假集训总结1
    模板(ac):启发式合并
    [考试反思]0729NOIP模拟测试10
  • 原文地址:https://www.cnblogs.com/earsonlau/p/11524133.html
Copyright © 2011-2022 走看看