由于工作中需要进行数据去重,所以做一下记录,其实是很小白的问题。。。。
其实对于数据去重来讲,最好的是在设计程序和数据库的时候就考虑到数据冗余问题,不插入重复的数据。但是呢,,,这个项目,如果其中的两个字段同时重复,就算冗余,但是还需要自增长的id作为主键方便查询。。。。so。。。算了,我写完数据自己去重吧。。。
因为有大量的重复数据,所以选择的去重方法是通过聚合函数建立一个新的表,然后重命名。sql代码如下:
create table tmp select * from table_name group by column1,column2;
然后呢,因为删除过大量数据,所以id都快到600000了。。。看着太碍眼了,所以把id变成从1 开始了。方法是先把id字段删除了,然后再增加id字段并设为自增长,好了,终于看着舒心了。。。三十多万的数据去重后大概十八条数据,用时70s,估计几千万数据的时候我就该哭了,anyway,到时再说,继续想想有什么好办法。
注意:如果之前是按id排序的,改为从1开始后,不会和之前的顺序一样。会按照第二个字段重新排序的。