mysql数据表去重,仅保留重名记录中id最小的那条记录。

– 查询重复情况
SELECT *FROM hci_40w WHERE hospital IN
(SELECT hospital FROM hci_40w GROUP BY hospital HAVING COUNT(*)>1);

– 创建视图 (列出重复数据中要保留的部分)
CREATE VIEW 40w AS SELECT min(id),hospital FROM hci_40w GROUP BY hospital ,province having count(*) > 1;

– 查看视图
SELECT *FROM 40w;

– 根据视图删除多余的重复记录
DELETE FROM hci_40w WHERE hospital IN (SELECT hospital FROM 40w ) AND id NOT IN( SELECT min(id) FROM 40w );

猜你喜欢

转载自blog.csdn.net/weixin_42688747/article/details/81386085