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);

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM