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

一条删除语句

楼主chiwei(水手)2005-01-27 15:35:14 在 MS-SQL Server / 基础类 提问

各位大哥帮帮忙给看看,  
  在一个表里面有很多相同的记录,如何只保留唯一的一条记录,其他多余的都删了。  
  这样的SQL语句怎么写?  
   
  谢谢! 问题点数:20、回复次数:5Top

1 楼xluzhong(Ralph)回复于 2005-01-27 15:39:16 得分 10

如果有主键id  
  则:delete   from   tablename   where   id   not   in(select   min(id)   from   tablename   group   by   col1,col2..)  
  如果没有id  
  则:alter   table   tablename   add   id   int   identity(1,1)  
          delete   from   tablename   where   id   not   in(select   min(id)   from   tablename   group   by   col1,col2..)  
  Top

2 楼daijingjie2002(艰苦创业)回复于 2005-01-27 15:40:49 得分 5

先设定主键,如果不行请加一列自增列设定成主键  
  delete   from   表   where   id   not   in(select   max(id)   from   表   group   by   aa,bb,cc)Top

3 楼Qihua_wu(小吴)回复于 2005-01-27 16:19:44 得分 5

1楼和2楼的回答的有问题,只保留了重复数据的第一条和最后一条,却把不重复的也删了  
   
  如果没有identity属性字段  
  则:alter   table   tablename   add   id   int   identity(1,1)  
          delete   from   tablename   a   where   a.id   not   in   (select   min(id)   from   tablename   group   by   判断重复的字段)   and   exists   (select   判断重复的字段   from   tablename   c   where   a.判断重复的字段   =   c.判断重复的字段)  
   
  如果有identity属性字段  
  则:delete   from   tablename   a   where   id   not   in(select   min(id)   from   tablename   group   by     判断重复的字段)   and   exists   (select   判断重复的字段   from   tablename   c   where   a.判断重复的字段   =   c.判断重复的字段)  
  Top

4 楼zhang_yzy(六子儿)回复于 2005-01-27 16:28:34 得分 0

若没有外键的话,先按要求将数据插入一个临时表中,再将表中数据删除掉,最好将临时表中的数据插入表中,不就可以了吗?Top

5 楼chiwei(水手)回复于 2005-01-27 16:49:41 得分 0

谢谢各位大哥  
        以上方法好像都没有问题,可惜分数给得太少了!  
   
  TO   xluzhong(打麻将一缺三,咋办?)   下次打麻将三缺一的时候叫我去吧!  
   
  多谢各位了~!  
  Top

相关问题

  • 新手,求SQL删除语句一条
  • 一个删除语句
  • 我想写一条删除语句能删除类似的记录,怎么写!
  • ##--求一条SQL语句知道删除了多少条数据--##
  • 删除当前一条记录的SQL语句怎么写?
  • 问一下多条件的删除语句是怎样写的!
  • 求一次性删除多条记录的SQL语句
  • 求一条SQL语句,相同记录的查找与删除。
  • 求删除重复记录的SQL语句一条~~~~~~~~~~~~~~~~~
  • 求一条删除语句,请高手帮忙!!!!!

关键词

  • 字段
  • 数据
  • 表
  • 主键
  • 判断重复的字段
  • identity
  • from tablename
  • col
  • group
  • delete

得分解答快速导航

  • 帖主:chiwei
  • xluzhong
  • daijingjie2002
  • Qihua_wu

相关链接

  • SQL Server类图书

广告也精彩

反馈

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