1、查看去重后的数据 DISTINCT
SELECT DISTINCT movie_id,title FROM b_movie
2、 根据某一列查看重复的数据:
SELECT * FROM b_movie WHERE
movie_id IN ( SELECT movie_id FROM ( SELECT movie_id FROM b_movie GROUP BY movie_id HAVING count( movie_id )> 1 ) AS tmp1 )
AND
mid NOT IN ( SELECT mid FROM ( SELECT min( mid ) mid FROM b_movie GROUP BY movie_id HAVING count( movie_id )> 1 ) AS tmp2 );
3、根据某一列去除重复的数据,保留ID最小的
DELETE FROM b_movie WHERE
movie_id IN ( SELECT movie_id FROM ( SELECT movie_id FROM b_movie GROUP BY movie_id HAVING count( movie_id )> 1 ) AS tmp1 )
AND
mid NOT IN ( SELECT mid FROM ( SELECT min( mid ) mid FROM b_movie GROUP BY movie_id HAVING count( movie_id )> 1 ) AS tmp2 );
2'、根据多列查看重复的数据:
SELECT * FROM b_casts WHERE
( cast_id, cast_name ) IN ( SELECT cast_id, cast_name FROM ( SELECT cast_id, cast_name FROM b_casts GROUP BY cast_id, cast_name HAVING count( cast_name )> 1 ) AS tmp1 )
AND
cid NOT IN ( SELECT cid FROM ( SELECT min( cid ) cid FROM b_casts GROUP BY cast_id, cast_name HAVING count( cast_name )> 1 ) AS tmp2 );
3' 、根据多列去除重复的数据,保留ID最小的
DELETE FROM b_casts WHERE
( cast_id, cast_name ) IN ( SELECT cast_id, cast_name FROM ( SELECT cast_id, cast_name FROM b_casts GROUP BY cast_id, cast_name HAVING count( cast_name )> 1 ) AS tmp1 )
AND
cid NOT IN ( SELECT cid FROM ( SELECT min( cid ) cid FROM b_casts GROUP BY cast_id, cast_name HAVING count( cast_name )> 1 ) AS tmp2 );
4、保留数据,重置ID
ALTER TABLE b_movie DROP mid;
ALTER TABLE b_movie ADD mid mediumint(11) PRIMARY KEY NOT NULL AUTO_INCREMENT FIRST;
数据处理效果如下: