• 数据库的几种去重方法总结


    一、数据库中的去重操作(删除数据库中重复记录的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 

  • 相关阅读:
    quick-cocos2d-x + Lua 开发
    设置 Quick-Cocos2d-x 在 Windows 下的编译环境
    luaIDE选择
    接管radiobutton onclick 事件
    AlphaControls的使用方法
    Delphi程序调用C#.Net编译的DLL并打开窗体(详解)
    delphi 正则表达式
    Windows server 2003 伪静态配置方法
    windows 2003 iis php
    Linux Shell系列教程之(十一)Shell while循环
  • 原文地址:https://www.cnblogs.com/insane-Mr-Li/p/9077304.html
Copyright © 2020-2023  润新知