1、查询去重数据

select *, count(distinct name) from table group by name

2.避免重复数据

如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用:

insert ignore into table_name(email,phone,user_id) values('test9@163.com','99999','9999'),这样当有重复记

录就会忽略,执行后返回数字0,还有个应用就是复制表,避免重复记录:

3、删除重复数据,只保留一条

DELETE FROM `noid`USING `noid`,
( SELECT DISTINCT MIN(`id`) AS `id`,`name`,`add` FROM `noid` GROUP BY `name`,`add` HAVING COUNT(1) > 1) AS `t2`
WHERE `noid`.`name` = `t2`.`name` AND `noid`.`add` = `t2`.`add` AND `noid`.`id` <> `t2`.`id`;
posted on 2014-12-24 12:55  大招无限  阅读(381)  评论(0编辑  收藏  举报