SQL查詢和刪除重復(fù)字段的內(nèi)容

例如:
id name value
1 a pp
2 a pp
3 b iii
4 b pp
5 b pp
6 c pp
7 c pp
8 c iii
id是主鍵
要求得到這樣的結(jié)果
id name value
1 a pp
3 b iii
4 b pp
6 c pp
8 c iii

方法1
delete YourTable
where [id] not in (
select max([id]) from YourTable
group by (name + value))

方法2
delete a
from 表 a left join(
select id=min(id) from 表 group by name,value
)b on a.id=b.id
where b.id is null

查詢及刪除重復(fù)記錄的SQL語句
查詢及刪除重復(fù)記錄的SQL語句
1挑豌、查找表中多余的重復(fù)記錄唆垃,重復(fù)記錄是根據(jù)單個字段(peopleId)來判斷
select * from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
2、刪除表中多余的重復(fù)記錄杨伙,重復(fù)記錄是根據(jù)單個字段(peopleId)來判斷爽航,只留有rowid最小的記錄
delete from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
and rowid not in (select min(rowid) from people group by peopleId having count(peopleId )>1)
3蚓让、查找表中多余的重復(fù)記錄(多個字段)
select * from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count() > 1)
4、刪除表中多余的重復(fù)記錄(多個字段)讥珍,只留有rowid最小的記錄
delete from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(
) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)

5历极、查找表中多余的重復(fù)記錄(多個字段),不包含rowid最小的記錄
select * from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count() > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(
)>1)
(二)
比方說
在A表中存在一個字段“name”衷佃,
而且不同記錄之間的“name”值有可能會相同趟卸,
現(xiàn)在就是需要查詢出在該表中的各記錄之間,“name”值存在重復(fù)的項氏义;
Select Name,Count() From A Group By Name Having Count() > 1
如果還查性別也相同大則如下:
Select Name,sex,Count() From A Group By Name,sex Having Count() > 1

(三)
方法一
declare @max integer,@id integer
declare cur_rows cursor local for select 主字段,count() from 表名 group by 主字段 having count() >锄列; 1
open cur_rows
fetch cur_rows into @id,@max
while @@fetch_status=0
begin
select @max = @max -1
set rowcount @max
delete from 表名 where 主字段 = @id
fetch cur_rows into @id,@max
end
close cur_rows
set rowcount 0

方法二
"重復(fù)記錄"有兩個意義上的重復(fù)記錄,一是完全重復(fù)的記錄惯悠,也即所有字段均重復(fù)的記錄邻邮,二是部分關(guān)鍵字段重復(fù)的記錄,比如Name字段重復(fù)克婶,而其他字段不一定重復(fù)或都重復(fù)可以忽略筒严。
  1、對于第一種重復(fù)情萤,比較容易解決鸭蛙,使用
select distinct * from tableName
  就可以得到無重復(fù)記錄的結(jié)果集。
  如果該表需要刪除重復(fù)的記錄(重復(fù)記錄保留1條)筋岛,可以按以下方法刪除
select distinct * into #Tmp from tableName
drop table tableName
select * into tableName from #Tmp
drop table #Tmp
  發(fā)生這種重復(fù)的原因是表設(shè)計不周產(chǎn)生的规惰,增加唯一索引列即可解決。
  2泉蝌、這類重復(fù)問題通常要求保留重復(fù)記錄中的第一條記錄,操作方法如下
  假設(shè)有重復(fù)的字段為Name,Address揩晴,要求得到這兩個字段唯一的結(jié)果集
select identity(int,1,1) as autoID, * into #Tmp from tableName
select min(autoID) as autoID into #Tmp2 from #Tmp group by Name,autoID
select * from #Tmp where autoID in(select autoID from #tmp2)
  最后一個select即得到了Name勋陪,Address不重復(fù)的結(jié)果集(但多了一個autoID字段,實際寫時可以寫在select子句中省去此列)
(四)
查詢重復(fù)
select * from tablename where id in (
select id from tablename
group by id
having count(id) > 1
)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末硫兰,一起剝皮案震驚了整個濱河市诅愚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖违孝,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件刹前,死亡現(xiàn)場離奇詭異,居然都是意外死亡雌桑,警方通過查閱死者的電腦和手機(jī)喇喉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來校坑,“玉大人拣技,你說我怎么就攤上這事∷D浚” “怎么了膏斤?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長邪驮。 經(jīng)常有香客問我莫辨,道長,這世上最難降的妖魔是什么毅访? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任沮榜,我火速辦了婚禮,結(jié)果婚禮上俺抽,老公的妹妹穿的比我還像新娘敞映。我一直安慰自己,他們只是感情好磷斧,可當(dāng)我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布振愿。 她就那樣靜靜地躺著,像睡著了一般弛饭。 火紅的嫁衣襯著肌膚如雪冕末。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天侣颂,我揣著相機(jī)與錄音档桃,去河邊找鬼。 笑死憔晒,一個胖子當(dāng)著我的面吹牛藻肄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播拒担,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼嘹屯,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了从撼?” 一聲冷哼從身側(cè)響起州弟,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后婆翔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拯杠,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年啃奴,在試婚紗的時候發(fā)現(xiàn)自己被綠了潭陪。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡纺腊,死狀恐怖畔咧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情揖膜,我是刑警寧澤誓沸,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站壹粟,受9級特大地震影響拜隧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜趁仙,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一洪添、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧雀费,春花似錦干奢、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至辕羽,卻和暖如春逛尚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背刁愿。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工绰寞, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人铣口。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓滤钱,卻偏偏與公主長得像,于是被迫代替她去往敵國和親脑题。 傳聞我的和親對象是個殘疾皇子菩暗,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容