SQL中删除重复记录只保留一条的语句,最好有详细解释。
发布网友
发布时间:2022-04-07 22:27
我来回答
共4个回答
热心网友
时间:2022-04-07 23:56
1 --oracle删除重复记录,可以利用oracle独有的rowid 来操作 如:
delete from test1 where rowid not in (select max(rowid) from test1);
解释: rowid 是一个虚列,不是真正的表中的列,利用rowid的特性(唯一),就可以删除重复记
录了
2 --mysql删除重复记录
思路:利用distinct关键字获取唯一记录,然后新建一个表把记录复制过来。
1、create table test2 as select distinct * from test1;
2、drop table test1;
3、alter table test2 rename to test1;
解释:建一个新表复制唯一记录,删掉原表,把新表改名成原表的表名。完成。
热心网友
时间:2022-04-08 01:14
这个无法做到一步到位
你可以先查出唯一信息放入临时表
select distinct *
into #a
from table1
再删除原表内容
delete from table1
将信息插回原表
insert into table1
select * from #a
热心网友
时间:2022-04-08 02:49
用distinct关键字,返回唯一不同的记录。
语法:SELECT DISTINCT 列名 FROM 表名
热心网友
时间:2022-04-08 04:40
我也 求解....