SQL怎样删除重复数据?

如题所述

首先删除一张表中可能存在的重复数据:
delete from 表 where 字段1 in
(select 字段1 from
(select 字段1,row_number() over (partition by 字段1 order by 字段2 desc) rn from 表)
where rn>1);
以上字段1为需要删除的依据字段,比如说你需要删除重复的邮箱,那么字段1表示邮箱,而字段2是按照顺序你需要保留的记录,比如说按照时间排序,保留时间最近的那个邮箱。

删除一张表中的另一个表中已经存在的记录
delete from 表1 where exists
(selete 1 from 表2 where 表1.字段=表2.字段);
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-02-06
没太明白你的意思
是删除列么
删除列语句:
Alter
table
tablename
Drop
column
Columnname
根据字符判断,如果首字符都是英文的话
delete
from
table
where
ascii(left('名称',1))<128
测试了
这个对
delete
from
table
where
编号
in
(
select
编号
from
table
group
by
编号
having
count(编号)>1)
and
名称
not
in
(
select
名称
from
table
where
ascii(left(名称,1))>128)
第2个回答  2020-10-16

批量删除重复数据~

第3个回答  2020-02-26

解决在excel电子表格中,如果混杂有重复数据,如何定位,如何删除的问题。

相似回答