您当前的位置:五五电子网电子知识电子学习基础知识电脑-单片机-自动控制教你删除SQL重复行不同情况的语句 正文
教你删除SQL重复行不同情况的语句

教你删除SQL重复行不同情况的语句

点击数:7802 次   录入时间:03-04 11:54:21   整理:http://www.55dianzi.com   电脑-单片机-自动控制
    学过SQL的人都知道一些删除语句里面重复行的方法,但是由于SQL语句的写法也是非常的宽阔的,在抒写的过程中也是需要注意很多的细节问题的,现在关于五种适合不同情况的SQL Server删除重复行的方法我们做了一下的总结。
一. 如果是判断所有字段也可以这样
select  *  into  #aa  from  table  group  by  id1,id2,....      的lete  table        insert  into  table        select  *  from  #aa
二.如果有ID字段,就是具有唯一性的字段
的lect  table  where  id  not  in  (        select  max(id)  from  table  group  by  col1,col2,col3...      )      group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。
三. 没有ID的情况
select  i的ntity(int,1,1)  as  id,*  into  #temp  from  tabel      的lect  #  where  id  not  in  (      select  max(id)  from  #  group  by  col1,col2,col3...)      的lect  table      inset  into  table(...)      select  .....  from  #temp
 
 col1+','+col2+','...col5 联合主键
select  *  from    table  where  col1+','+col2+','...col5  in  (      select  max(col1+','+col2+','...col5)  from  table        where  having  count(*)>1      group  by  col1,col2,col
三,col4        )  group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。
四.
select  distinct  *  into  #temp  from  tablename        的lete  tablename        go      insert  tablename  select  *  from  #temp  Sqlclub    go      drop  table  #temp
五.
select  i的ntity(int,1,1)  as  id,*  into  #temp  from  tabel      select  *  from    #temp  where  id  in  (      select  max(id)  from  #emp  where  having  count(*)>1  group  by  col1,col2,col3...)   
    上面我们所总结的物种方法全部包含了在SQL语句中经常遇到的需要删除重复行的使用办法,这些对于你们关于不同情况的重复行都有了一个很好的理解。


本文关键字:暂无联系方式电脑-单片机-自动控制电子学习 - 基础知识 - 电脑-单片机-自动控制

《教你删除SQL重复行不同情况的语句》相关文章>>>