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

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

每天一点点,感受自己存在的意义。

数据库的几种去重方法总结相关推荐

  1. SQL5 将查询后的列重新命名(数据库的几种去重方法)

    牛客网题目 描述 题目:现在运营需要查看用户来自于哪些学校,请从用户信息表中取出学校的去重数据. 示例:user_profile 根据示例,你的查询应返回以下结果: 示例1 输入: drop tabl ...

  2. 数据库的几种去重方法

    一.数据库中的去重操作(删除数据库中重复记录的SQL语句)主要有三种方法 (1).rowid方法 (2).group by 方法 (3).distinct方法 1.用rowid方法 根据Oracle带 ...

  3. Navicat Premium无法连上ORACLE数据库的几种问题解决方法

    Navicat Premium无法连上ORACLE数据库的几种问题解决方法 参考文章: (1)Navicat Premium无法连上ORACLE数据库的几种问题解决方法 (2)https://www. ...

  4. Mysql数据库有两种安装方法

    Mysql数据库有两种安装方法: 第一种是安装 mysql-5.7.16-winx64,Zip  发杂.麻烦,下载容量大 第二种方式:下载mysql-5.7.13-winx64.msi 内存小,点击自 ...

  5. idea连接不了5.6mysql_IDEA无法连接mysql数据库的6种解决方法大全

    本文主要介绍了IDEA无法连接mysql数据库的6种解决方法大全,分享给大家,具体如下: 1.本地的mysql没有创建该数据库(笔者就是这个原因!) 查看数据库发现没有,重建就可以了 测试成功! 网上 ...

  6. idea无法连接mysql_IDEA无法连接mysql数据库的6种解决方法大全

    IDEA无法连接mysql数据库的6种解决方法大全 本文主要介绍了IDEA无法连接mysql数据库的6种解决方法大全,分享给大家,具体如下: 1.本地的mysql没有创建该数据库(笔者就是这个原因!) ...

  7. sybase数据库的两种备份方法

    Sybase常用备份方法有两种:dump/load 与 bcp 1.dump/load常用于完整备份,好处是全面完整,坏处是内容不可见且费时费力 2.bcp常用语增量备份,优点是备份内容灵活,缺点是不 ...

  8. list的五种去重方法

    面试中经常被问到的list如何去重,一般是口述,不需要代码体现,这个时候,思维一定要清晰,可以罗列出集中去重的方法,以展现你对list数据结构,以及相关方法的掌握,体现你的java基础学的是否牢固  ...

  9. 数据库的3种删除方法

    1. Delete :删除数据表中的行(可以删除某一行,也可以在不删除数据表的情况下删除所有行). 删除某一行:Delete from 数据表名称 where 列名称=值: 删除所有行:Delete ...

  10. mysql数据库有几种连接方法_几种常见的数据库连接方法

    一.连接Access数据库 1.使用已有DSN的连接字符串进行连接(ODBC) //导入命名空间 using System.Data.Odbc; protected void Page_Load(Ob ...

最新文章

  1. spingboot和mybatis,纯注解方式
  2. 2019 Multi-University Training Contest 1 - 1011 - Function - 数论
  3. 快手基于 Apache Flink 的优化实践
  4. 【java8新特性】——lambda表达式与函数式接口详解(一)
  5. George Fox谈Adobe开发者社区与HTML5内容建设
  6. 算法优化策略之“中途相遇”算法思想
  7. Linux系统时间和java的时间不一致
  8. Sicily 6271
  9. 王守臣 | 文字不灭:省的钱,分一半
  10. centos5.8下FastDFS分布式文件系统+redis+ImageMagick
  11. 【Luat-air105】8.1 camera拍照
  12. 三线表的制作(硕士毕业论文WORD中)
  13. java前后端分离使用token_前后端分离以及token的使用
  14. 手动删除win10恢复分区
  15. 使用PS更改照片的背景色
  16. Github上最热门的Java开源项目
  17. 盘点Windows10系统的使用小技巧二 —— 磁贴
  18. 腾讯校招难度升级,笔试刷人超80%,最“简单”的试题把网友看哭了
  19. 一位程序媛MM眼中的程序员???
  20. Arduino库的接口:Ticker库

热门文章

  1. logistic回归分析优点_Logistic回归——回归系数
  2. WPF界面设计—撸大师
  3. 分享一个好用的图片压缩软件
  4. linux如何部署btsync同步?
  5. UnitedPlugins发布终极Bass效果器:QuickBass
  6. 第三方验收测试-功能测试方案
  7. QTTabBar在win10下多标签栏功能消失
  8. dos2unix命令详解
  9. html 选择题代码,JS实现简单的选择题测评系统代码思路详解(demo)
  10. 2019年全国大学生电子设计竞赛G题解决方案-双路语音同传的无线收发系统