分享链接:

http://blog.csdn.net/s630730701/article/details/52033018

http://blog.csdn.net/anya/article/details/6407280/

http://www.myexception.cn/sql-server/350450.html

http://blog.csdn.net/u012889638/article/details/46893855

http://bbs.csdn.net/topics/370190752

暂不直接说删除问题,先说明下sqlserver不支持多字段in。举个栗子:

select *

from vitae a
where (a.peopleId,a.seq)
    in (select peopleId,seq

    from vitae

     group by peopleId,seq

   having count(*) > 1)

这种在sqlserver中就会报语法错误。

解决方案:(1)

DELETE dbo.t_test

from dbo.t_test A

WHERE  A.b IN (select b

from dbo.t_test b group by b,c having COUNT(*)>1)

AND A.C IN (select c

from dbo.t_test b group by b,c having COUNT(*)>1)

and id not in(select MIN(id) from dbo.t_test  group by b,c having COUNT(1)>1)

注意使用这个语句当数据量很大或者字段很多的时候会运行不了,太浪费时间

解决方案(2)

DELETE A

--select A.*

FROM  dbo.t_test A ,dbo.t_test B

WHERE A.b=B.b AND A.c=B.c AND A.id !=B.id

and A.id NOT IN(select min(id) from dbo.t_test group by b,c)

我们写的 delete table where 和update table 都属于简写,全写应该是

delet A FROM TABLE A WEHRE

参考链接:http://blog.csdn.net/zyzlywq/article/details/6753648

注意delete 删除的表是紧跟在后面的表 A,在from中可以引入另一个表进行关联

我目前阶段最大的感受就是:版本问题,这真的很重要。再举个小栗子sqlserver不能使用limit

(3)使用distinct筛选出不重复的记录,保存,在删除原来的数据库。(这个我没试过,应该可以)

sqlserver删除重复的数据的更多相关文章

  1. SqlServer删除重复数据的方法

    方法一 declare @max integer,@id integer open cur_rows fetch cur_rows into @id,@max begin set rowcount @ ...

  2. 《SQLServer删除重复数据的方法》

    方法一: declare @max integer,@id integer open cur_rows fetch cur_rows into @id,@max begin set rowcount ...

  3. SQL:一句话删除重复的数据

    --构造原始数据 )) --插入数据 INSERT INTO #T (N)VALUES ('A') --方式一:一句话删除重复数据(无主键) --方式二:采用CTQ,with的写法删除 ;

  4. c++ 链表删除重复的数据

    //List.h #include <iostream> typedef int dataType; struct Node{ Node():data(),pNextNode(NULL){ ...

  5. SqlServer 删除重复记录

    在给一个客户上线的系统里发现有一张表里出现了重复的数据,结果通过排查代码发现确实业务逻辑有问题,在修改了代码后需要将为数据库里的重复数据删除 在CSDN上找到解决方案,对线上的数据库尽量不要执行删除操 ...

  6. ORACLE 删除重复的数据

    内容转自:https://www.cnblogs.com/zfox2017/p/7676237.html         查询及删除重复记录的SQL语句   1.查找表中多余的重复记录,重复记录是根据 ...

  7. sqlserver删除重复数据

    select identity(int,1,1) as autoID, * into #Tmp from [QYTS_QiYeCecdb]select min(autoID) as autoID in ...

  8. SQLServer一次性删除重复的数据

    delete from [GCPCore].[GCP.Product].[CityMall] where  AreaID in(select AreaID from [GCPCore].[GCP.Pr ...

  9. SQLServer删除重复行

    1.如果有ID字段,就是具有唯一性的字段 delect table where id not in ( select max(id) from table group by col1,col2,col ...

随机推荐

  1. winfrom 实现条形码批量打印以及将条形码信息生成PDF文件

    最近,老大让给客户做个邮包管理程序.其中,包括一些基本信息的增.删.查和改,这些倒不是很难搞定它分分钟的事.其主要难点就在于如何生成条形码.如何批量打印条形码以及将界面条形码信息批量生成以其各自的 b ...

  2. Angular2快速起步——构建一个简单的应用

    构建此应用,分为如下几步: 1.环境准备:安装Node.js和npm: 2.创建并配置此项目: 3.创建应用: 4.创建组件并添加到应用程序中: 5.启动应用程序: 6.定义作为该应用的宿主页面: 7 ...

  3. [KISSY5系列]淘宝全终端框架 KISSY 5--从零开始使用

    KISSY 是淘宝一个开源的 JavaScript 库,包含的组件有:日历.图片放大镜.卡片切换.弹出窗口.输入建议等 一.简介 KISSY 是一款跨终端.模块化.高性能.使用简单的 JavaScri ...

  4. 系统启动 之 Linux系统启动概述(2)

    博客:http://blog.csdn.net/younger_china/article/details/51615916 Linu系统启动是一个"冗长乏味"的过程,那么我们现就 ...

  5. yum 安装vim编辑器

    在我们使用的vi编辑器中没有配色不是很好用,我们安装一个vim富文本编辑器方便我们的文本编辑. [root@localhost ~]# yum install vim -y已加载插件:fastestm ...

  6. 整合最优雅SSM框架:SpringMVC + Spring + MyBatis

    我们看招聘信息的时候,经常会看到这一点,需要具备SSH框架的技能:而且在大部分教学课堂中,也会把SSH作为最核心的教学内容. 但是,我们在实际应用中发现,SpringMVC可以完全替代Struts,配 ...

  7. 【CSS】思考和再学习——关于CSS中浮动和定位对元素宽度/外边距/其他元素所占空间的影响

      一.width:auto和width:100%的区别   1.width:100%的作用是占满它的参考元素的宽度.(一般情况下参考元素 == 父级元素,这里写成参考元素而不是父级元素,在下面我会再 ...

  8. luogu P1015 回文数

    题目描述: 若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数. 例如:给定一个10进制数56,将56加65(即把56从右向左读),得到121是一个回文数. 又如:对于10进制 ...

  9. webstorm html碎片整理功能

    我们用字符串形式写html模板时,或者向某标签添加html内容时,如下,如果这个str更加的长,一旦里面少了一个单引号,少了一个加号,基本报错还看不懂,一脸懵逼... // 假定后台传给我们的数据为 ...

  10. JavaScript 复制对象

    在JavaScript这门语言中,数据类型分为两大类:基本数据类型和复杂数据类型.基本数据类型包括Number.Boolean.String.Null.String.Symbol(ES6 新增),而复 ...