mysql 删除重复数据
1. 查询表中是否存在重复数据
SELECT column, count(*) AS count
FROM table
GROUP BY column #需要判定为重复数据的列
HAVING count > 1
2.数据备份, 如果数据量很大, 可以用导出sql文件的方式, 这里直接用sql语句来进行备份
CREATE TABLE bak_table_180817
AS
SELECT * FROM table
或者
CREATE TABLE bak_table_180817
LIKE table
INSERT INTO bak_table_180817
SELECT * FROM table
3.删除重复数据(备份数据的处理就看个人的意愿了)
DELETE a
FROM table a
JOIN (
SELECT column, MIN(id) AS id #这里是假设表的主键是自增, 并且删除重复数据时, 留下的数据为最早得那条(id为最小的). 想以其他的条件留有效数据, 换下条件就可以了
FROM table
GROUP BY column
HAVING COUNT(*) >= 2
) b ON a.column = b.column AND a.id > b.id