删除部分重复的方法

删除部分重复的方法

ID:40789066

大小:31.00 KB

页数:8页

时间:2019-08-07

删除部分重复的方法_第1页
删除部分重复的方法_第2页
删除部分重复的方法_第3页
删除部分重复的方法_第4页
删除部分重复的方法_第5页
资源描述:

《删除部分重复的方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、--处理表重复记录(查询和删除)/******************************************************************************************************************************************************1、Num、Name相同的重复值记录,没有大小关系只保留一条2、Name相同,ID有大小关系时,保留大或小其中一个记录整理人:中国风(Roy)日期:2008.06.06*****************************

2、*************************************************************************************************************************/--1、用于查询重复处理记录(如果列没有大小关系时2000用生成自增列和临时表处理,SQL2005用row_number函数处理)-->-->(Roy)生成測試數據ifnotobject_id('Tempdb..#T')isnulldroptable#TGoCreatetable#T([ID]int,[Name]n

3、varchar(1),[Memo]nvarchar(2))Insert#Tselect1,N'A',N'A1'unionallselect2,N'A',N'A2'unionallselect3,N'A',N'A3'unionallselect4,N'B',N'B1'unionallselect5,N'B',N'B2'Go--I、Name相同ID最小的记录(推荐用1,2,3),方法3在SQl05时,效率高于1、2方法1:Select*from#Tawherenotexists(select1from#TwhereName=a.NameandID

4、方法2:selecta.*from#Tajoin(selectmin(ID)ID,Namefrom#TgroupbyName)bona.Name=b.Nameanda.ID=b.ID方法3:select*from#TawhereID=(selectmin(ID)from#TwhereName=a.Name)方法4:selecta.*from#Tajoin#Tbona.Name=b.Nameanda.ID>=b.IDgroupbya.ID,a.Name,a.Memohavingcount(1)=1方法5:select*from#TagroupbyID,Na

5、me,MemohavingID=(selectmin(ID)from#TwhereName=a.Name)方法6:select*from#Tawhere(selectcount(1)from#TwhereName=a.NameandIDall(selectIDfrom#TwhereName=a.Name)方法9(注:ID为唯一时可用):selec

6、t*from#TawhereIDin(selectmin(ID)from#TgroupbyName)--SQL2005:方法10:selectID,Name,Memofrom(select*,min(ID)over(partitionbyName)asMinIDfrom#Ta)TwhereID=MinID方法11:selectID,Name,Memofrom(select*,row_number()over(partitionbyNameorderbyID)asMinIDfrom#Ta)TwhereMinID=1生成结果:/*IDNameMemo----

7、---------------1AA14BB1(2行受影响)*/--II、Name相同ID最大的记录,与min相反:方法1:Select*from#Tawherenotexists(select1from#TwhereName=a.NameandID>a.ID)方法2:selecta.*from#Tajoin(selectmax(ID)ID,Namefrom#TgroupbyName)bona.Name=b.Nameanda.ID=b.IDorderbyID方法3:select*from#TawhereID=(selectmax(ID)from#Twhe

8、reName=a.Name)orderbyID方法4:selecta.*from

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。