欢迎来到天天文库
浏览记录
ID:50830576
大小:35.95 KB
页数:2页
时间:2020-03-15
《sql语句实现根据字段删除重复行代码.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、sql语句实现根据字段删除重复行代码,删除重复记录有大小关系时,保留大或小其中一个记录-->-->(Roy)生成測試數據ifnotobject_id('Tempdb..#T')isnulldroptable#TGoCreatetable#T([ID]int,[Name]nvarchar(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'
2、Go--I、Name相同ID最小的记录(推荐用1,2,3),保留最小一条方法1:deleteafrom#Tawhereexists(select1from#TwhereName=a.NameandID3、):deleteafrom#TawhereIDnotin(selectmin(ID)from#TgroupbyName)方法5:deleteafrom#Tawhere(selectcount(1)from#TwhereName=a.NameandID0方法6:deleteafrom#TawhereID<>(selecttop1IDfrom#TwhereName=a.nameorderbyID)方法7:deleteafrom#TawhereID>any(selectIDfrom#TwhereName=a.Name)selectfrom#T生成结果:/IDNameMemo-4、------------------1AA14BB1(2行受影响)/--II、Name相同ID保留最大的一条记录:方法1:deleteafrom#Tawhereexists(select1from#TwhereName=a.NameandID>a.ID)
3、):deleteafrom#TawhereIDnotin(selectmin(ID)from#TgroupbyName)方法5:deleteafrom#Tawhere(selectcount(1)from#TwhereName=a.NameandID0方法6:deleteafrom#TawhereID<>(selecttop1IDfrom#TwhereName=a.nameorderbyID)方法7:deleteafrom#TawhereID>any(selectIDfrom#TwhereName=a.Name)selectfrom#T生成结果:/IDNameMemo-
4、------------------1AA14BB1(2行受影响)/--II、Name相同ID保留最大的一条记录:方法1:deleteafrom#Tawhereexists(select1from#TwhereName=a.NameandID>a.ID)
此文档下载收益归作者所有