婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > sql分組后二次匯總(處理表重復記錄查詢和刪除)的實現(xiàn)方法

sql分組后二次匯總(處理表重復記錄查詢和刪除)的實現(xiàn)方法

熱門標簽:千呼電話機器人可以試用嗎 400電話辦理泰安 安卡拉地圖標注app 電銷需要外呼系統(tǒng)嗎 電話機器人怎么代理商 零成本地圖標注賺錢 互聯(lián)網(wǎng)電話外呼系統(tǒng) 我要地圖標注數(shù)量有限制嗎 家庭農(nóng)場地圖標注名稱怎樣起名

--處理表重復記錄(查詢和刪除)
/******************************************************************************************************************************************************
1、Num、Name相同的重復值記錄,沒有大小關系只保留一條
2、Name相同,ID有大小關系時,保留大或小其中一個記錄
整理人:中國風(Roy)

日期:2008.06.06
******************************************************************************************************************************************************/

--1、用于查詢重復處理記錄(如果列沒有大小關系時2000用生成自增列和臨時表處理,SQL2005用row_number函數(shù)處理)

--> --> (Roy)生成測試數(shù)據(jù)
 

if not object_id('Tempdb..#T') is null
 drop table #T
Go
Create table #T([ID] int,[Name] nvarchar(1),[Memo] nvarchar(2))
Insert #T
select 1,N'A',N'A1' union all
select 2,N'A',N'A2' union all
select 3,N'A',N'A3' union all
select 4,N'B',N'B1' union all
select 5,N'B',N'B2'
Go


--I、Name相同ID最小的記錄(推薦用1,2,3),方法3在SQl05時,效率高于1、2
方法1:
Select * from #T a where not exists(select 1 from #T where Name=a.Name and IDa.ID)

方法2:
select a.* from #T a join (select min(ID)ID,Name from #T group by Name) b on a.Name=b.Name and a.ID=b.ID

方法3:
select * from #T a where ID=(select min(ID) from #T where Name=a.Name)

方法4:
select a.* from #T a join #T b on a.Name=b.Name and a.ID>=b.ID group by a.ID,a.Name,a.Memo having count(1)=1

方法5:
select * from #T a group by ID,Name,Memo having ID=(select min(ID)from #T where Name=a.Name)

方法6:
select * from #T a where (select count(1) from #T where Name=a.Name and IDa.ID)=0

方法7:
select * from #T a where ID=(select top 1 ID from #T where Name=a.name order by ID)

方法8:
select * from #T a where ID!>all(select ID from #T where Name=a.Name)

方法9(注:ID為唯一時可用):
select * from #T a where ID in(select min(ID) from #T group by Name)

--SQL2005:

方法10:
select ID,Name,Memo from (select *,min(ID)over(partition by Name) as MinID from #T a)T where ID=MinID

方法11:

select ID,Name,Memo from (select *,row_number()over(partition by Name order by ID) as MinID from #T a)T where MinID=1

生成結果:
/*
ID          Name Memo
----------- ---- ----
1           A    A1
4           B    B1

(2 行受影響)
*/


--II、Name相同ID最大的記錄,與min相反:
方法1:
Select * from #T a where not exists(select 1 from #T where Name=a.Name and ID>a.ID)

方法2:
select a.* from #T a join (select max(ID)ID,Name from #T group by Name) b on a.Name=b.Name and a.ID=b.ID order by ID

方法3:
select * from #T a where ID=(select max(ID) from #T where Name=a.Name) order by ID

方法4:
select a.* from #T a join #T b on a.Name=b.Name and a.ID=b.ID group by a.ID,a.Name,a.Memo having count(1)=1

方法5:
select * from #T a group by ID,Name,Memo having ID=(select max(ID)from #T where Name=a.Name)

方法6:
select * from #T a where (select count(1) from #T where Name=a.Name and ID>a.ID)=0

方法7:
select * from #T a where ID=(select top 1 ID from #T where Name=a.name order by ID desc)

方法8:
select * from #T a where ID!all(select ID from #T where Name=a.Name)

方法9(注:ID為唯一時可用):
select * from #T a where ID in(select max(ID) from #T group by Name)

--SQL2005:

方法10:
select ID,Name,Memo from (select *,max(ID)over(partition by Name) as MinID from #T a)T where ID=MinID

方法11:
select ID,Name,Memo from (select *,row_number()over(partition by Name order by ID desc) as MinID from #T a)T where MinID=1

生成結果2:
/*
ID          Name Memo
----------- ---- ----
3           A    A3
5           B    B2

(2 行受影響)
*/

--2、刪除重復記錄有大小關系時,保留大或小其中一個記錄


--> --> (Roy)生成測試數(shù)據(jù)

if not object_id('Tempdb..#T') is null
    drop table #T
Go
Create table #T([ID] int,[Name] nvarchar(1),[Memo] nvarchar(2))
Insert #T
select 1,N'A',N'A1' union all
select 2,N'A',N'A2' union all
select 3,N'A',N'A3' union all
select 4,N'B',N'B1' union all
select 5,N'B',N'B2'
Go

--I、Name相同ID最小的記錄(推薦用1,2,3),保留最小一條
方法1:
delete a from #T a where  exists(select 1 from #T where Name=a.Name and IDa.ID)

方法2:
delete a  from #T a left join (select min(ID)ID,Name from #T group by Name) b on a.Name=b.Name and a.ID=b.ID where b.Id is null

方法3:
delete a from #T a where ID not in (select min(ID) from #T where Name=a.Name)

方法4(注:ID為唯一時可用):
delete a from #T a where ID not in(select min(ID)from #T group by Name)

方法5:
delete a from #T a where (select count(1) from #T where Name=a.Name and IDa.ID)>0

方法6:
delete a from #T a where ID>(select top 1 ID from #T where Name=a.name order by ID)

方法7:
delete a from #T a where ID>any(select ID from #T where Name=a.Name)

select * from #T

生成結果:
/*
ID          Name Memo
----------- ---- ----
1           A    A1
4           B    B1

(2 行受影響)
*/


--II、Name相同ID保留最大的一條記錄:

方法1:
delete a from #T a where  exists(select 1 from #T where Name=a.Name and ID>a.ID)

方法2:
delete a  from #T a left join (select max(ID)ID,Name from #T group by Name) b on a.Name=b.Name and a.ID=b.ID where b.Id is null

方法3:
delete a from #T a where ID not in (select max(ID) from #T where Name=a.Name)

方法4(注:ID為唯一時可用):
delete a from #T a where ID not in(select max(ID)from #T group by Name)

方法5:
delete a from #T a where (select count(1) from #T where Name=a.Name and ID>a.ID)>0

方法6:
delete a from #T a where ID>(select top 1 ID from #T where Name=a.name order by ID desc)

方法7:
delete a from #T a where IDany(select ID from #T where Name=a.Name)


select * from #T
/*
ID          Name Memo
----------- ---- ----
3           A    A3
5           B    B2

(2 行受影響)
*/

--3、刪除重復記錄沒有大小關系時,處理重復值


--> --> (Roy)生成測試數(shù)據(jù)
 
if not object_id('Tempdb..#T') is null
    drop table #T
Go
Create table #T([Num] int,[Name] nvarchar(1))
Insert #T
select 1,N'A' union all
select 1,N'A' union all
select 1,N'A' union all
select 2,N'B' union all
select 2,N'B'
Go

方法1:
if object_id('Tempdb..#') is not null
    drop table #
Select distinct * into # from #T--排除重復記錄結果集生成臨時表#

truncate table #T--清空表

insert #T select * from #    --把臨時表#插入到表#T中

--查看結果
select * from #T

/*
Num         Name
----------- ----
1           A
2           B

(2 行受影響)
*/

--重新執(zhí)行測試數(shù)據(jù)后用方法2
方法2:

alter table #T add ID int identity--新增標識列
go
delete a from  #T a where  exists(select 1 from #T where Num=a.Num and Name=a.Name and ID>a.ID)--只保留一條記錄
go
alter table #T drop column ID--刪除標識列

--查看結果
select * from #T

/*
Num         Name
----------- ----
1           A
2           B

(2 行受影響)

*/

--重新執(zhí)行測試數(shù)據(jù)后用方法3
方法3:
declare Roy_Cursor cursor local for
select count(1)-1,Num,Name from #T group by Num,Name having count(1)>1
declare @con int,@Num int,@Name nvarchar(1)
open Roy_Cursor
fetch next from Roy_Cursor into @con,@Num,@Name
while @@Fetch_status=0
begin
    set rowcount @con;
    delete #T where Num=@Num and Name=@Name
    set rowcount 0;
    fetch next from Roy_Cursor into @con,@Num,@Name
end
close Roy_Cursor
deallocate Roy_Cursor

--查看結果
select * from #T
/*
Num         Name
----------- ----
1           A
2           B

(2 行受影響)

您可能感興趣的文章:
  • SQL SERVER 分組求和sql語句
  • 顯示同一分組中的其他元素的sql語句
  • sql獲取分組排序后數(shù)據(jù)的腳本
  • SQL進行排序、分組、統(tǒng)計的10個新技巧分享
  • SQL分組排序去重復的小實例
  • 以數(shù)據(jù)庫字段分組顯示數(shù)據(jù)的sql語句(詳細介紹)
  • SQL中Group分組獲取Top N方法實現(xiàn)可首選row_number
  • Sql Server:多行合并成一行,并做分組統(tǒng)計的兩個方法
  • Sql Server 分組統(tǒng)計并合計總數(shù)及WITH ROLLUP應用
  • SQL語句分組獲取記錄的第一條數(shù)據(jù)的方法
  • sqlserver巧用row_number和partition by分組取top數(shù)據(jù)
  • 一句Sql把縱向表轉為橫向表,并分別分組求平均和總平均值
  • sql 分組查詢問題
  • SQLserver 實現(xiàn)分組統(tǒng)計查詢(按月、小時分組)
  • 分組后分組合計以及總計SQL語句(稍微整理了一下)

標簽:東營 新鄉(xiāng) 來賓 黃山 池州 文山 濱州 大同

巨人網(wǎng)絡通訊聲明:本文標題《sql分組后二次匯總(處理表重復記錄查詢和刪除)的實現(xiàn)方法》,本文關鍵詞  sql,分組,后,二次,匯總,處理,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《sql分組后二次匯總(處理表重復記錄查詢和刪除)的實現(xiàn)方法》相關的同類信息!
  • 本頁收集關于sql分組后二次匯總(處理表重復記錄查詢和刪除)的實現(xiàn)方法的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    色综合久久中文综合久久97| 日韩精品资源二区在线| 欧美日韩一二三区| 久久综合九色综合97婷婷女人| 国产精品亲子伦对白| 免费看欧美女人艹b| 99国产欧美另类久久久精品| 精品国产不卡一区二区三区| 亚洲一区二区欧美激情| 国产精品香蕉一区二区三区| 欧美一区二区三区四区在线观看| 中文字幕一区二区5566日韩| 国产一区视频在线看| 91麻豆精品国产91久久久久久 | 亚洲自拍都市欧美小说| 国产一区二区视频在线| 日韩欧美中文一区| 亚洲福利视频一区二区| 91蜜桃婷婷狠狠久久综合9色| 国产无一区二区| 九九热在线视频观看这里只有精品| 日本高清成人免费播放| 国产精品久久久久一区二区三区共 | 日韩欧美高清一区| 一卡二卡三卡日韩欧美| 不卡电影一区二区三区| 日本一区二区动态图| 国产一区免费电影| 日韩欧美在线一区二区三区| 免费看欧美女人艹b| 欧美一区二区三区不卡| 日韩av一区二区三区四区| 91精品麻豆日日躁夜夜躁| 视频一区二区三区中文字幕| 7777精品伊人久久久大香线蕉完整版 | 久久99热这里只有精品| 91精品久久久久久蜜臀| 日韩av一区二区三区四区| 欧美一区二区三区在线观看视频| 亚洲高清在线视频| 制服丝袜国产精品| 激情都市一区二区| 国产欧美在线观看一区| 成人午夜视频在线| 国产精品国产自产拍高清av | 一二三四社区欧美黄| 欧美性大战久久| 亚洲超碰精品一区二区| 日韩欧美一区中文| 国产精品影视网| 亚洲免费三区一区二区| 欧美日韩日日夜夜| 麻豆一区二区三| 中文字幕第一区第二区| 91久久香蕉国产日韩欧美9色| 亚洲国产欧美另类丝袜| 欧美成人一区二区三区在线观看| 国产成人在线看| 亚洲精品第1页| 91精品国产福利在线观看| 国产a级毛片一区| 亚洲国产人成综合网站| 精品女同一区二区| av亚洲精华国产精华精华| 亚洲国产成人av好男人在线观看| 精品奇米国产一区二区三区| 91小视频免费看| 久久不见久久见免费视频1| 国产精品人妖ts系列视频| 欧美日韩国产综合久久| 国产福利视频一区二区三区| 亚洲国产日韩一区二区| 国产日产欧产精品推荐色 | 无吗不卡中文字幕| 久久综合九色综合欧美98| 91福利在线观看| 国产麻豆精品久久一二三| 亚洲一区二区在线播放相泽| 久久久激情视频| 欧美一区二区视频在线观看 | 一区二区三区不卡在线观看| 日韩免费成人网| 色婷婷精品大在线视频| 国产高清亚洲一区| 日本特黄久久久高潮| 一区二区三区四区国产精品| 久久综合999| 777午夜精品免费视频| 91在线国内视频| 国产乱淫av一区二区三区| 日本欧美一区二区三区| 亚洲精品福利视频网站| 亚洲国产精品黑人久久久| 精品国产一区二区三区久久久蜜月 | 亚洲六月丁香色婷婷综合久久| 久久综合色8888| 欧美性猛交xxxx乱大交退制版| 成人动漫一区二区三区| 国产一区二区三区电影在线观看| 亚洲成人资源在线| 一级特黄大欧美久久久| 亚洲人成精品久久久久久| 国产精品无遮挡| 国产日韩影视精品| 久久久99精品久久| 精品国产乱码久久久久久影片| 欧美一级理论性理论a| 欧美日本免费一区二区三区| 欧美午夜精品久久久久久超碰| 99精品视频在线播放观看| 成人av资源在线| jiyouzz国产精品久久| 99在线精品观看| 91亚洲永久精品| 91蝌蚪porny| 91捆绑美女网站| 欧美图片一区二区三区| 欧美日韩五月天| 91精品国产一区二区人妖| 91精品国产欧美一区二区成人| 日韩一区二区中文字幕| 日韩三级中文字幕| 26uuu欧美日本| 26uuu亚洲综合色欧美| 国产人久久人人人人爽| 中文字幕一区三区| 亚洲欧美欧美一区二区三区| 亚洲精品免费在线播放| 日日夜夜精品免费视频| 久久99九九99精品| 国产成人在线视频网址| 91丝袜高跟美女视频| 欧美日韩视频在线第一区| 日韩欧美美女一区二区三区| 国产婷婷色一区二区三区在线| 国产精品乱码久久久久久| 亚洲综合免费观看高清完整版在线| 午夜精品一区二区三区电影天堂 | 亚洲v日本v欧美v久久精品| 日韩高清在线不卡| 国产99一区视频免费 | 亚洲综合一区二区三区| 亚洲成人黄色影院| 国产在线一区观看| 色婷婷av一区二区三区gif| 制服丝袜亚洲网站| 国产日韩影视精品| 亚洲第一激情av| 国产成人免费视频网站| 欧美图区在线视频| 久久久91精品国产一区二区精品| 一区二区三区四区蜜桃| 国内久久精品视频| 一本久久a久久精品亚洲| 日韩欧美国产一区二区在线播放| 国产精品污污网站在线观看 | 亚洲靠逼com| 韩国精品主播一区二区在线观看| 色综合欧美在线视频区| 欧美电影精品一区二区| 亚洲乱码一区二区三区在线观看| 国内一区二区视频| 欧美视频在线一区二区三区 | 精品国内二区三区| 亚洲一区二区三区免费视频| 国产精品亚洲视频| 91精品国产福利| 亚洲综合色婷婷| 91一区一区三区| 国产欧美一区二区三区在线老狼| 琪琪久久久久日韩精品| 91浏览器打开| 国产精品无圣光一区二区| 日本人妖一区二区| 欧美综合久久久| 1区2区3区欧美| 国产v综合v亚洲欧| 久久蜜桃香蕉精品一区二区三区| 天天影视网天天综合色在线播放| 色综合欧美在线| 欧美国产欧美综合| 国产美女在线精品| 欧美成人高清电影在线| 天堂资源在线中文精品| 91一区二区在线| 亚洲欧美国产高清| 99re66热这里只有精品3直播| 欧美经典三级视频一区二区三区| 国产呦精品一区二区三区网站| 日韩一级在线观看| 久久成人免费网站| 欧美成人精品1314www| 韩国精品在线观看| 欧美成人在线直播| 激情深爱一区二区| 久久久久97国产精华液好用吗| 国产成人在线观看| 欧美国产成人精品| 色综合久久综合网| 亚洲午夜精品久久久久久久久|