国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

MySQL去重的方法整理

2024-07-24 13:13:49
字體:
供稿:網(wǎng)友

MySQL去重的方法整理

【初級】有極少的重復(fù)行

使用distinct查出來,然后手動一行一行刪除。

【中級】按照單個字段的重復(fù)去重

例如:對id字段去重

使用方法:獲取id的重復(fù)字段的值,利用相同id字段所在的行中,比較出數(shù)據(jù)不同的字段,刪除 除了最小(或最大)的字段所在的該行之外的所有重復(fù)的行。一般使用主鍵來比較,因?yàn)橹麈I的值一定是唯一值,絕對不相同。

id  name1    a1    b2    c2    a3    c

結(jié)果:

id  name1    a 2    a

操作:

delete from a_tmp where id in (select * from (select b.id from a_tmp b group by b.id having count(b.id) >1) bb) and name not in (select * from (select min(a.name) from a_tmp a GROUP BY a.id having count(a.id) >1) aa);

注意:

上述加粗并綠色的字,必須加別名,必須使用select * from (……)這樣的格式,否則會報(bào)錯:

[Err] 1093 - You can't specify target table 'a_tmp' for update in FROM clause

【高級】按多個字段的重復(fù)來去重

例如:對id,name相同的去重,即:對id,name都相同的算作重復(fù)行,對id相同而name不同的算作不重復(fù)行

使用方法:和單個字段相似,一般使用主鍵來比較,因?yàn)橹麈I的值一定是唯一值。

id  name  rowid1  a      11  a      21  b      32  b      42  b      53  c      63  d     7

結(jié)果:

id  name  rowid1  a      1 1  b      32  b      43  c      63  d     7

操作:

第一種:

delete from a_tmp where (id,name) in (select * from (select b.id,b.name from a_tmp b group by b.id,b.name having count(b.id) >1) bb) and rowid not in (select * from (select min(a.rowid) from a_tmp a group by a.id,a.name having count(a.id) >1) aa);

第二種:

將id和name字段的值連接起來插入到臨時(shí)表中b_tmp,這樣便可以使用【中級】的單字段的判斷刪除方法。

#將兩字段連接的值,a_tmp表中唯一值的字段插入b_tmp表

insert into b_tmp  select concat(id,name),rowid from a_tmp;#查出需要留下來的行select id_name,max(rowid) from b_tmp  group by id_name having count(id_name)>1;#使用【中級】的方法,或存儲過程完成去重的工作

 【終極】每行都有兩份一樣的數(shù)據(jù)

例如:

使用方法:對于整行的數(shù)據(jù)都一樣,是沒辦法使用SQL語句刪除的,因?yàn)闆]有可以使用的條件限制來留下一行刪除所有與其相同的行。沒有不同的字段可以自己創(chuàng)造不同的字段,即:添加一個字段,設(shè)為自增長,并設(shè)為主鍵,它會自動添加上值。

id  name1   a1   a1   b1   b2   c2   c3   c3   c

結(jié)果:

id  name   rowid1   a       11   b       32   c       53   c       7

操作:

添加一個自增長的字段,并暫時(shí)設(shè)為主鍵。

使用上面【中級】和【高級】的方法操作。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關(guān)教程知識閱讀請移步到MYSQL教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 十堰市| 汕头市| 塔城市| 军事| 大城县| 汝城县| 郎溪县| 台北市| 舟山市| 抚宁县| 德江县| 犍为县| 平昌县| 黔西| 大港区| 海晏县| 楚雄市| 安阳县| 东丰县| 安塞县| 武宁县| 濉溪县| 石泉县| 循化| 永安市| 荥阳市| 云龙县| 德令哈市| 大港区| 北宁市| 新河县| 长顺县| 古田县| 平谷区| 鸡西市| 溧水县| 繁峙县| 朝阳县| 金秀| 黔江区| 天气|