CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

数据库表中有许多重复的记录,怎样批量删除其中的一条只剩下唯一的记录

楼主hucy_2000(梦想成为UNIX程序员)2005-12-06 09:21:59 在 MS-SQL Server / 基础类 提问

数据库表中有许多重复的记录,怎样批量删除其中的一条只剩下唯一的记录 问题点数:20、回复次数:3Top

1 楼wangdehao(找找找(现在很幸福))回复于 2005-12-06 09:34:41 得分 10

select   distinct   *   into   #t   from   tablename    
   
  truncate   table   tablename  
   
  insert     tablename     select   *   from   #t  
   
  drop   table   #tTop

2 楼lsp69(浪子神剑)回复于 2005-12-06 09:37:45 得分 0

select   distinct   *   into   #t   from   tablename    
   
  truncate   table   tablename  
   
  insert     tablename     select   *   from   #t  
   
  drop   table    
  这种方法就可以实现了Top

3 楼caiyunxia(夏才云)回复于 2005-12-06 09:44:21 得分 10

1\如果有ID字段,就是具有唯一性的字段  
   
  delect   table   where   id   not   in   (  
   
      select   max(id)   from   table   group   by   col1,col2,col3...  
  )  
  group   by   子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。  
   
   
  2,如果是判断所有字段也可以这样  
      select   *   into   #aa   from   table   group   by   id1,id2,....  
      delete   table    
      insert   into   table    
      select   *   from   #aa  
   
   
  3,没有ID的情况  
   
  select   identity(int,1,1)   as   id,*   into   #temp   from   tabel  
  delect   #   where   id   not   in   (  
      select   max(id)   from   #   group   by   col1,col2,col3...)  
  delect   table  
  inset   into   table(...)  
        select   .....   from   #temp  
   
   
  col1+','+col2+','...col5   联合主键  
   
  alter   table   表   add     newfield   int   identity(1,1)  
   
  delete   表  
  where   newfield   not   in(  
    select   min(newfield)   from   表   group   by   除newfield外的所有字段  
                                            )  
   
  alter   table   表   drop   column   newfield  
   
  Top

相关问题

  • 如何删除掉重复记录(access数据库)
  • 数据库的问题,如何删除重复的记录
  • 如何删除数据库中的重复记录?
  • 怎么删除数据库中的重复记录!
  • 怎样删除数据库里重复记录?
  • 我应该怎么删除数据库里的重复记录
  • 数据库记录删除
  • 请教高手!如何将数据库中的重复记录删除?或者避免产生重复记录?
  • 删除数据库中重复记录,但需要保留一条记录,用DELECT语句;
  • 各位老大数据库数据重复,有没有较快的办法删除重复记录!

关键词

  • 字段
  • newfield
  • 重复
  • 表
  • col
  • 记录
  • tablename
  • group
  • table
  • where

得分解答快速导航

  • 帖主:hucy_2000
  • wangdehao
  • caiyunxia

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo