SQL数据库,如何比较需要查询的所有记录某个字段的前五个字符串是否相同?
展开全部
select * from table1 a
where exists(select 1 from table1 where substring(colname,1,5)<>substring(a.colname,1,5));
where exists(select 1 from table1 where substring(colname,1,5)<>substring(a.colname,1,5));
追问
你好,我初学者,本意是想给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 主键列=主键列);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
where substring(fieldname,1,5)='00000'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |