MySQL中删除重复数据只保留一条
数据:
INSERT INTO `test`.`time`(`uuid`, `name`) VALUES (1, 'wang');
INSERT INTO `test`.`time`(`uuid`, `name`) VALUES (2, '王');
INSERT INTO `test`.`time`(`uuid`, `name`) VALUES (3, 'wang');
INSERT INTO `test`.`time`(`uuid`, `name`) VALUES (4, '王');
INSERT INTO `test`.`time`(`uuid`, `name`) VALUES (5, '刘');
INSERT INTO `test`.`time`(`uuid`, `name`) VALUES (6, '王');
INSERT INTO `test`.`time`(`uuid`, `name`) VALUES (7, '刘');
INSERT INTO `test`.`time`(`uuid`, `name`) VALUES (8, '黄');
INSERT INTO `test`.`time`(`uuid`, `name`) VALUES (9, '刘');
INSERT INTO `test`.`time`(`uuid`, `name`) VALUES (10, '黄');
INSERT INTO `test`.`time`(`uuid`, `name`) VALUES (11, '张');
MySQL中删除重复数据只保留一条
DELETE from `time` where uuid in (
SELECT uuid from (SELECT
uuid
FROM
time
WHERE
NAME IN ( SELECT NAME FROM `time` GROUP BY `name` HAVING ( COUNT( * ) > 1 ) ) and uuid not in (
SELECT min(uuid) from time GROUP BY `name` HAVING ( COUNT( * ) > 1 )
)) a
);
结果: