你好,我初学者,本意是想给20000条信息去重,我想写个循环,里面把每次第一条记录一个字段的,前五个字符做基准,和其他所有记录该个字段的前五个字符作比较;然后复制第一条记录到新的表,把原来表里这次循环的结果全部删除,循环结束后,原表信息全部被删除了,而新的表里有了至少五个字符内不重复的信息。我用来你提供的这条,发现运行后是查询出所有结果,现在还不会用,能再详细指教一下么
追答不需要循环,分2步:
1.create table tmp_table as
select min( 主键列) 主键列 from table1 group by substring(colname,1,5);
2.insert into new_table
select * from old_table a
where exists(select 1 from tmp_table where 主键列=主键列);