sql去除重复数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql去除重复数据相关的知识,希望对你有一定的参考价值。

1,采用存储过程添加测试数据

CREATE PROCEDURE NewProcedure()
BEGIN
DECLARE i INT;
SET i=1;
WHILE i<50000 DO
INSERT INTO user_new (id,name,phone,sex) VALUES (i,i,i,i);
SET i = i + 1;
END WHILE;
END;

两次插入,修改后一次存储过程的id取值,于是得到了name,phone,sex重复的5W条数据(时间有限,未操作更大数量)

2,数据去重

常见方式:

一、

update user_new  set data_status=0 where id not in

(select max(id) as id from t_testr_res_indicate group by name,phone,sex
);

 

二、重复数据量少使用

update user_new  set data_status=0 where id not in

(select max(id) as id from user_new  group by name,phone,sex having count(*)>1
) and

id in

(select  id from user_new  group by name,phone,sex having count(*)>1
) ;

 

 

 

以上是关于sql去除重复数据的主要内容,如果未能解决你的问题,请参考以下文章

sql查询中如何去除某个字段重复的数据

sql关联查询去除重复项

mongodb去除重复的数据

mysql 根据两个字段值查询时如何去除重复数据

sql 语句 急!!!! 数据将英文和数字去掉,只保留汉字的sql语句

存储过程制造数据