常见问题解答--Sql删除重复数据

       sql学习过程中,碰到了删除冗余数据的问题。经过搜索,查找,终于解决了此问题

       第一种,数据全部重复,如下图:

                       

       需要得到以下的结果:

                       

       删除重复的记录(重复记录保留1条),可以按以下方法删除
             seleet distinct * into #Tmp from TableName

             drop table TableName

             select * into TableName from #Tmp

             drop table #Tmp

      第二种,数据部分字段重复,ID不重复 ,如下图:

                          

                                        

             需要得到以下结果:

                                     

           下面的语句可以达到要求:                

                    delete 表 where id not in(
                                SELECT MAX(id) AS id FROM 表 GROUP BY rows) --- 删除重复行

                   select * from 表 where id in(
                                 SELECT MAX(id) AS id FROM 表 GROUP BY rows) --重复行只查询一条

 

注:如有错误,多多指教!             

 

  

 

posted @ 2008-07-28 14:56  沅江汐水  阅读(5314)  评论(5编辑  收藏  举报