数据库中删除重复数据只保留⼀条
1.新增⾃增列id
alter table 表名 add _ID int identity (1,1);
PostgresSQL:alter table 表名 ADD id serial ;
PostgreSQL使⽤序列来标识分区的⾃增长,数据类型有smallserial,serial和bigserial。这些属性数据库MySQL数据库⽀持的AUTO_INCREMENT属性。
20211252.png
2.删除数据
delete from 表名
where id not in (
select t.min_id from
(select min(id) as min_id
from shw.user_info
group by sfzhm,xm) as t);
思路:mysql删除重复的数据保留一条
1)根据sfzhm和xm进⾏分组;
2)取出分组后的最⼤id(或最⼩id);
3)删除除最⼤(或最⼩)id以外的其他字段;
not in 执⾏效率⽐较低,可以换成not exists,并且给表的id列建索引

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。