数据库中对重复数据行的查询删除操作

oracle中对重复数据的查询和删除操作

--1.查询表中username=‘lingjie’的重复记录
select userid,username from nmb where
username in(
select username from nmb group by username having
count(username)>1)

--2.删除表中username 重复的数据,只保留rowid最小的一条
delete from nmb where username
in
(select username from nmb group by username having
count(username)>1)
and rowid not in (select min(rowid) from nmb group by
username having count(username)>1)

--3.查询表中多余重复的记录(多个字段)
select * from nmb n
where(n.username,n.pwd)
in
(select username,pwd from nmb group by username,pwd having count(*)>1)

--4.删除表中重复的记录(多个字段),只保留rowid最小的一条
delete from nmb n
where
(n.username,n.pwd) in
(select username,pwd from nmb group by username,pwd
having count(*)>1)
and rowid not in
(select min(rowid) from nmb group
by username,pwd having count(*)>1)

--5.查找表中多余的重复记录(多个字段),不包含rowid最小的记录
select * from nmb
n
where(n.username,n.pwd) in
(select username,pwd from nmb group by
username,pwd having count(*)>1)
and rowid not in
(select min(rowid)
from nmb group by username,pwd having count(*)>1)

时间: 2024-12-20 01:06:44

数据库中对重复数据行的查询删除操作的相关文章

.Net多个DataTable合并,及过滤掉DataTable中重复数据行

DataTable dt01= new DataTable(); DataTable dt02= new DataTable(); DataTable dtRs = new DataTable(); dt01=sqlHelper.GetDataTable(strSQL001) dt02=sqlHelper.GetDataTable(strSQL002) //数据表dt02与dt01合并 dt01.Merge(dt02); //多个表合并可能产生重复数据,过滤掉重复数据 DataView dv =

如何删除数据库中的重复记录?

一.题外篇 今天很悲催啊,给用户数据做datapatch的时候,每个月的数据多导入了一份,瞬间惊出一身冷汗... 这可是产品环境,要是被老板知道了可就死定了,赶紧去掉重复的记录,同时写下下面的文章以备后用. 二.准备篇 1. 先创建一张学生表student: create table student( id varchar(10) not null, name varchar(10) not null, age number not null ); 2. 插入几条数据到表student: ins

MySQL 处理重复数据:防止表中出现重复数据、统计、过滤、删除重复数据

MySQL 处理重复数据 有些 MySQL 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据. 本章节我们将为大家介绍如何防止数据表出现重复数据及如何删除数据表中的重复数据. 防止表中出现重复数据 你可以在 MySQL 数据表中设置指定的字段为 PRIMARY KEY(主键) 或者 UNIQUE(唯一) 索引来保证数据的唯一性. 让我们尝试一个实例:下表中无索引及主键,所以该表允许出现多条重复记录. CREATE TABLE person_tbl

Mysql 如何删除数据表中的重复数据!

1.使用distinct查询所有不重复的记录 2.创建数据表相同结构的临时表,将第一步的数据复制进去 create temporary table if not exists student_temp as (select distinct(name), sex from student); 3.truncate table student; 4.insert into student(id,name,sex) select null,name,sex from student_temp; My

ASP.NET MVC搭建项目后台UI框架—8、将View中选择的数据行中的部分数据传入到Controller中

ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NET MVC搭建项目后台UI框架—4.tab多页签支持 ASP.NET MVC搭建项目后台UI框架—5.Demo演示Controller和View的交互 ASP.NET MVC搭建项目后台UI框架—6.客户管理(添加.修改.查询.分页) ASP.NET MVC搭建项目后台UI框架—7.统计报表 ASP.NE

C# 删除Collections中的重复数据

List去重 通过扩展方法System.Linq.Enumerable.Distinct() 对于简单数据类型,可以简单的调用这个函数就行啦,因为它会使用默认的比较器(System.Collections.Generic.EqualityComparer<T>.Default). Default   属性检查类型 T 是否实现此 System.IEquatable<T> 泛型接口,如果实现,该属性将返回一个包含 IEquatable<T>.Equals 方法的实现的 E

mysql查看数据库中所有表的行数,并进行排序

mysql查看数据库中所有表的行数,并进行排序: 进行数据库迁移或还原后,可以通过比较行数,检查数据是否正确. mysql> use information_schema; mysql> select table_name,table_rows from tables where TABLE_SCHEMA= 'kpsumi' order by table_rows desc; 原文地址:http://blog.51cto.com/9285090/2119096

除去文件中的重复数据

1.先对文件内容排序:cat 1.txt |sort > 2.txt 保存到2.txt中 2.使用vim打开2.txt 执行替换命令: 替换空格:%s/ //g 替换tab:%s/^I//g   (注意:^I 是直接按键盘是的tab键) 替换$:  %s/^M//g (注意:^M 是按ctrl+v 再按Enter键) 3.cat 2.txt | uniq > 3.txt 本文为Eliot原创,转载请注明出处:http://blog.csdn.net/xyw_blog/article/detai

清空SQL Server数据库中所有表数据的方法

其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入死循环,二是这里使用了微软未正式公开的sp_MSForEachTable存储过程. 也许很多读者朋友都经历过这样的事情:要在开发数据库基础上清理一个空库,但由于对数据库结构缺乏整体了解,在删除一个表的记录时,删除不了,因为可能有外键约束,一个常见的数据库结构是一个主表,一个子表,这种情况下一般都得先删除子表记录,再删除主表记录. 说道删除数据记录,