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 

  • 相关阅读:
    右滑返回上一页
    flutter 启动图
    [题解]NOIP2014
    [题解]LightOJ1289 LCM from 1 to n
    [题解]CodeForces442B Andrey and Problem
    [题解]HDU4035 Maze
    [题解]CodeForces#290(div1)
    SCP-bzoj-1078
    SCP-bzoj-1068
    SCP-bzoj-1054
  • 原文地址:https://www.cnblogs.com/insane-Mr-Li/p/9077304.html
Copyright © 2011-2022 走看看