oracle 查询 删除重复的电子邮箱后的表数据 重复邮箱里只保留id最小的

这篇博客介绍了如何在Oracle数据库中删除重复的电子邮箱记录,只保留每个重复组中ID最小的一条。首先创建表,然后插入数据,接着找出重复项,再通过条件找出ID较大的记录,最后执行删除语句。由于Oracle与MySQL的语法差异,该方法不适用于MySQL。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,写个建表语句

​create table personemail(
       id varchar(10) not null primary key,
       email varchar(20) not null
);
​ 顺便写个删表语句
truncate table personemail;

2,表中插入数据

insert into personemail values(1,'john@example.com');
insert into personemail values(2,'bob@example.com');
insert into personemail values(3,'john@example.com');
insert into personemail values(4,'john@example.com');
insert into personemail values(5,'bob@example.com');
insert into personemail values(6,'smith@example.com');

 

3,找出相同数据

select e1.id e1id,e1.email e1email,e2.id e2id,e2.email e2email from personemail e1,personemail e2 
where e1.email = e2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值