• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >oracle > 解决Oracle删除重复数据只留一条的方法详解

解决Oracle删除重复数据只留一条的方法详解

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了oracle游标详解,oracle执行计划详解,oracle体系结构详解,oracle详解,oracle存储过程详解等相关知识,希望本文的分享对您有所帮助
查询及删除重复记录的SQL语句
1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断
select * from 表 where  Id in (select Id from 表 group by Id having count(Id) > 1)

2、删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有rowid最小的记录
DELETE from 表 WHERE (id) IN ( SELECT id FROM 表 GROUP BY id HAVING COUNT(id) > 1) AND ROWID NOT IN (SELECT MIN(ROWID) FROM 表 GROUP BY id HAVING COUNT(*) > 1);

3、查找表中多余的重复记录(多个字段)
select * from 表 a
where (a.Id,a.seq) in (select Id,seq from 表 group by Id,seq having count(*) > 1)
4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录
delete from 表 a
where (a.Id,a.seq) in   (select Id,seq from 表 group by Id,seq having count(*) > 1)
and rowid not in (select min(rowid) from 表 group by Id,seq having count(*)>1)
5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录
select * from 表 a
where (a.Id,a.seq) in   (select Id,seq from 表 group by Id,seq having count(*) > 1)
and rowid not in (select min(rowid) from 表 group by Id,seq having count(*)>1)

(二)
比方说
在A表中存在一个字段“name”,
而且不同记录之间的“name”值有可能会相同,
现在就是需要查询出在该表中的各记录之间,“name”值存在重复的项;
Select Name,Count(*) From A Group By Name Having Count(*) > 1
如果还查性别也相同大则如下:
Select Name,sex,Count(*) From A Group By Name,sex Having Count(*) > 1
(三)
方法一
</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Oracle解析复杂json的方法实例详解
  • Oracle删除表及查看表空间的实例详解
  • 详解oracle 日期格式(总结)
  • oracle 临时表详解及实例
  • Oracle存储过程游标用法分析
  • Oracle出现超出打开游标最大数的解决方法
  • 详解Oracle自定义异常示例
  • Oracle例外用法实例详解
  • 详解Oracle dg 三种模式切换
  • Oracle 手动创建数据库步骤详解

相关文章

  • 2017-05-11oracle 彻底删除方法
  • 2017-05-11oracle中动态SQL使用详细介绍
  • 2017-05-11Oracle硬解析和软解析的区别分析
  • 2017-05-11oracle适配器连接不上的解决办法
  • 2017-05-11两种oracle创建字段自增长的实现方式
  • 2017-05-11Oracle存储过程基本语法介绍
  • 2017-05-11Oracle用户密码过期和用户被锁的解决方法
  • 2017-05-11LINUX下Oracle数据库用户创建方法详解
  • 2017-05-11Oracle的默认用户密码
  • 2017-05-11Oracle层次查询和with函数的使用示例

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • [Oracle] CPU/PSU补丁安装详细教程
    • oracle数据库中如何处理clob字段方法介绍
    • Oracle Report中加入下载超链接操作方法
    • Oracle date如何比较大小分析
    • Oracle 多参数查询语句
    • Oracle Portal及其门户网站开发概述
    • oracle备份恢复的具体方法
    • oracle 索引的相关介绍(创建、简介、技巧、怎样查看) .
    • CentOS 6.4下安装Oracle 11gR2详细步骤(多图)
    • Oracle 函数大全

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有