mysql 中查询重复数据

时间:2014-03-01 06:51:53   收藏:0   阅读:578

1.查询多列重复

SELECT * FROM zd_isstory_log a WHERE (a.class_id,a.lesson_id,a.course_id) IN (SELECT class_id,lesson_id,course_id FROM zd_isstory_log GROUP BY class_id,lesson_id,course_id HAVING COUNT(*) > 1) ;

 

2.删除重复数据(保留id小的数据)

CREATE TABLE tmp AS 

SELECT * FROM zd_isstory_log a WHERE (a.class_id,a.lesson_id,a.course_id) IN (SELECT class_id,lesson_id,course_id FROM zd_isstory_log GROUP BY class_id,lesson_id,course_id HAVING COUNT(*) > 1) 

AND id NOT IN(SELECT MIN(id) FROM zd_isstory_log GROUP BY class_id,lesson_id,course_id HAVING COUNT(*) > 1);
DELETE FROM zd_isstory_log WHERE Id IN( SELECT Id FROM tmp);

mysql 中查询重复数据,布布扣,bubuko.com

原文:http://www.cnblogs.com/chenkg/p/3573951.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!