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

主頁 > 知識庫 > MySQL去重的方法整理

MySQL去重的方法整理

熱門標簽:成都優派外呼系統 聊城智能外呼系統運營商 寧波企業外呼系統收費 扎樣申請400電話 上海智能外呼系統代理商 沈陽電銷外呼系統原理是什么 地圖標注人員兼職 電子地圖標注電話 ps制作地圖標注gif

MySQL去重的方法整理

【初級】有極少的重復行

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

【中級】按照單個字段的重復去重

例如:對id字段去重

使用方法:獲取id的重復字段的值,利用相同id字段所在的行中,比較出數據不同的字段,刪除 除了最?。ɑ蜃畲螅┑淖侄嗡诘脑撔兄獾乃兄貜偷男?。一般使用主鍵來比較,因為主鍵的值一定是唯一值,絕對不相同。

id  name

1    a

1    b

2    c

2    a

3    c

結果:

id  name

1    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 (……)這樣的格式,否則會報錯:

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

【高級】按多個字段的重復來去重

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

使用方法:和單個字段相似,一般使用主鍵來比較,因為主鍵的值一定是唯一值。

id  name  rowid

1  a      1

1  a      2

1  b      3

2  b      4

2  b      5

3  c      6

3  d     7

結果:

id  name  rowid

1  a      1 

1  b      3

2  b      4

3  c      6

3  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字段的值連接起來插入到臨時表中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;

#使用【中級】的方法,或存儲過程完成去重的工作

 【終極】每行都有兩份一樣的數據

例如:

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

id  name

1   a

1   a

1   b

1   b

2   c

2   c

3   c

3   c

結果:

id  name   rowid

1   a       1

1   b       3

2   c       5

3   c       7

操作:

添加一個自增長的字段,并暫時設為主鍵。

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

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

您可能感興趣的文章:
  • 解析mysql中:單表distinct、多表group by查詢去除重復記錄
  • mysql SELECT語句去除某個字段的重復信息
  • MySQL 去除重復數據實例詳解
  • 一條sql語句完成MySQL去重留一
  • mysql 開發技巧之JOIN 更新和數據查重/去重
  • Mysql刪除重復的數據 Mysql數據去重復
  • mysql去重的兩種方法詳解及實例代碼
  • MySQL數據表合并去重的簡單實現方法
  • 將MySQL去重操作優化到極致的操作方法
  • mysql自聯去重的一些筆記記錄
  • mysql優化小技巧之去除重復項實現方法分析【百萬級數據】

標簽:朔州 內江 咸寧 林芝 宿州 AXB 三明 汕頭

巨人網絡通訊聲明:本文標題《MySQL去重的方法整理》,本文關鍵詞  MySQL,去,重的,方法,整理,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL去重的方法整理》相關的同類信息!
  • 本頁收集關于MySQL去重的方法整理的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 鹤峰县| 芦溪县| 汉沽区| 宝丰县| 长垣县| 华亭县| 岚皋县| 达州市| 天台县| 剑川县| 湖州市| 宁陵县| 鹤山市| 宁德市| 普安县| 孟村| 南昌县| 北辰区| 丁青县| 蛟河市| 上饶市| 馆陶县| 沙河市| 游戏| 格尔木市| 云龙县| 阳山县| 抚顺县| 禄劝| 高邮市| 德令哈市| 赤水市| 武乡县| 嘉禾县| 内江市| 利辛县| 南汇区| 九江市| 凤阳县| 揭阳市| 三明市|