MySql教程

mysql 去重,删除重复数据保留id最大的数据

本文主要是介绍mysql 去重,删除重复数据保留id最大的数据,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1 -- 查询重复的数据
2 SELECT * FROM yy_visit_plan 
    WHERE 
  (post_code,cust_tree_node_id,visit_year,visit_month,staff_type) IN 
    (SELECT post_code,cust_tree_node_id,visit_year,visit_month,staff_type FROM yy_visit_plan 
    GROUP BY post_code,cust_tree_node_id,visit_year,visit_month,staff_type HAVING COUNT(cust_tree_node_id) > 1);
3 
4 -- 删除重复数据
5 DELETE FROM yy_visit_plan 
  WHERE 
  (post_code,cust_tree_node_id,visit_year,visit_month,staff_type) IN 
  (select * from
    (SELECT post_code,cust_tree_node_id,visit_year,visit_month,staff_type FROM yy_visit_plan 
    GROUP BY post_code,cust_tree_node_id,visit_year,visit_month,staff_type HAVING COUNT(cust_tree_node_id) > 1)
   a) 
  AND 
  plan_id NOT IN 
  (select * from
    (SELECT MAX(plan_id) as plan_id FROM yy_visit_plan GROUP BY post_code,cust_tree_node_id,visit_year,visit_month,staff_type HAVING COUNT(*)>1) 
  b);

 

这篇关于mysql 去重,删除重复数据保留id最大的数据的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!