sql 删除重复数据与查找重复数据的方法(1/4)

例1,表中有主键(可唯一标识的字段),且该字段为数字类型

例1测试数据 /* 表结构 */
drop table if exists `t1`;
create table if not exists `t1`(
  `id` int(1) not null auto_increment,
  `name` varchar(20) not null,
  `add` varchar(20) not null,
  primary key(`id`)
)engine=innodb;

/* 插入测试数据 */
insert into `t1`(`name`,`add`) values
('abc',"123"),
('abc',"123"),
('abc',"321"),
('abc',"123"),
('xzy',"123"),
('xzy',"456"),
('xzy',"456"),
('xzy',"456"),
('xzy',"789"),
('xzy',"987"),
('xzy',"789"),
('ijk',"147"),
('ijk',"147"),
('ijk',"852"),
('opq',"852"),
('opq',"963"),
('opq',"741"),
('tpk',"741"),
('tpk',"963"),
('tpk',"963"),
('wer',"546"),
('wer',"546"),
('once',"546");

select * from `t1`;
+----+------+-----+
| id | name | add |
+----+------+-----+
|  1 | abc  | 123 |
|  2 | abc  | 123 |
|  3 | abc  | 321 |
|  4 | abc  | 123 |
|  5 | xzy  | 123 |
|  6 | xzy  | 456 |
|  7 | xzy  | 456 |
|  8 | xzy  | 456 |
|  9 | xzy  | 789 |
| 10 | xzy  | 987 |
| 11 | xzy  | 789 |
| 12 | ijk  | 147 |
| 13 | ijk  | 147 |
| 14 | ijk  | 852 |
| 15 | opq  | 852 |
| 16 | opq  | 963 |
| 17 | opq  | 741 |
| 18 | tpk  | 741 |
| 19 | tpk  | 963 |
| 20 | tpk  | 963 |
| 21 | wer  | 546 |
| 22 | wer  | 546 |
| 23 | once | 546 |
+----+------+-----+
23 rows in set (0.00 sec)

首页 1 2 3 4 末页

时间: 2024-10-29 23:45:36

sql 删除重复数据与查找重复数据的方法(1/4)的相关文章

SQL Server数据库多种方式查找重复记录

原文地址:http://kb.cnblogs.com/page/94862/ 摘要:SQL Server是一个关系数据库管理系统,SQL Server数据库的应用是很多的,SQL Server数据库赢得了广大用户的青睐,本文将主要为大家介绍关于SQL Server数据库中查找重复记录的方法. SQL Server数据库多种方式查找重复记录: 示例:表stuinfo,有三个字段recno(自增),stuid,stuname 建该表的Sql语句如下: CREATE TABLE [StuInfo] (

sql删除数据库中所有表与数据语句

使用sql删除数据库中所有表是不难的,就是遍历一下数据库中所有用户表,并将它清除,下边是具体的sql语句,在关键部分已经作了详细的注释:  代码如下 复制代码 --变量@tablename保存表名 declare @tablename nvarchar(100) --将用户表全部保存到临时表#tablename中 SELECT [name] into #tablename FROM sysobjects WHERE type = 'U'; --当#tablename有数据时 while(sele

如何在Excel中快速辨别两列数据是否一致的四种方法介绍

  我们以下表的数据为例,具体的介绍一下操作方法. 方法一: Excel分别对AB列两列数据对比,比如A2=B2,就返回相同,否则返回不相同. D2公式为:=IF(C2=B2,"相同","不同"),这样就可以实现excel两列对比,判断C2和B2是否相同,如果相同就返回值"相同",反之则显示不同. 同样的方法比较其它数据,结果如下图: 不过细心的朋友会发现,B5和C5实质上有大小写区分的,因此使用这个公式不是完全准确.Excel中exact函数可

SQL删除重复数据方法

原文:SQL删除重复数据方法 例如: id           name         value 1               a                 pp 2               a                 pp 3               b                 iii 4               b                 pp 5               b                 pp 6            

sql删除重复数据的详细方法_MsSql

一. 删除完全重复的记录 完全重复的数据,通常是由于没有设置主键/唯一键约束导致的.测试数据: 复制代码 代码如下: if OBJECT_ID('duplicate_all') is not nulldrop table duplicate_all GO create table duplicate_all ( c1 int, c2 int, c3 varchar(100) ) GO insert into duplicate_all select 1,100,'aaa' union allse

sql删除重复数据的详细方法

  重复数据,通常有两种:一是完全重复的记录,也就是所有字段的值都一样;二是部分字段值重复的记录. 一. 删除完全重复的记录 完全重复的数据,通常是由于没有设置主键/唯一键约束导致的. 测试数据: if OBJECT_ID('duplicate_all') is not null drop table duplicate_all GO create table duplicate_all ( c1 int, c2 int, c3 varchar(100) ) GO insert into dup

sql 删除重复数据

sql 删除重复数据 本文章提供一款mysql删除重复数据,就是数据表中存在二条以上的重复数据,删除编号最小的一条信息. delete `borough_name` as a from fke_borough as a, ( select *,min(id) from fke_borough group by `borough_name` having count(1) > 1 ) as b  where a.`borough_name` = b.`borough_name` and a.id

SQL删除重复数据只保留一条

  用SQL语句,删除掉重复项只保留一条 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) 2.删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只

sql不重复的查找统计数据(经典)

例表如下: 表名:MYTEST TID    COL1    COL2     COL3 1           1           A            A2           1           A            A3           2           A            A4           2           B            A5           3           B            B6           3