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

主頁 > 知識庫 > mysql數據庫刪除重復數據只保留一條方法實例

mysql數據庫刪除重復數據只保留一條方法實例

熱門標簽:武漢網絡外呼系統服務商 外呼系統打電話上限是多少 啥是企業400電話辦理 曲靖移動外呼系統公司 怎樣在地圖標注銷售區域 電話外呼系統改號 地圖標注費用是多少 百應電話機器人優勢 南昌三維地圖標注

1.問題引入

假設一個場景,一張用戶表,包含3個字段。id,identity_id,name。現在身份證號identity_id和姓名name有很多重復的數據,需要刪除只保留一條有效數據。

2.模擬環境

1.登入mysql數據庫,創建一個單獨的測試數據庫mysql_exercise

create database mysql_exercise charset utf8;

2.創建用戶表users

create table users(
					id int auto_increment primary key,
					identity_id varchar(20),
					name varchar(20) not null
     );

3.插入測試數據

insert into users values(0,'620616199409206512','張三'),
						(0,'620616199409206512','張三'),
						(0,'62062619930920651X','李四'),
						(0,'62062619930920651X','李四'),
						(0,'620622199101206211','王五'),
						(0,'620622199101206211','王五'),
						(0,'322235199909116233','趙六');

可以多執行幾次,生成較多重復數據。

4.解決思路

(1)根據身份證號和name進行分組;

(2)取出分組后的最大id(或最小id);

(3)刪除除最大(或最小)id以外的其他字段;

5.第一次嘗試(失敗!!!)

delete from users where id not in (select max(id) from users group by identity_id,name);

報錯:

1093 (HY000): You can't specify target table 'users' for update in FROM clause

因為在MYSQL里,不能先select一個表的記錄,再按此條件進行更新和刪除同一個表的記錄。

解決辦法是,將select得到的結果,再通過中間表select一遍,這樣就規避了錯誤,

這個問題只出現于mysql,mssql和oracle不會出現此問題。

所以我們可以先將括號里面的sql語句先拿出來,先查到最大(或最小)id。

select max_id from (select max(id) as max_id from users group by identity_id,name);

接著,又報錯了!!!

ERROR 1248 (42000): Every derived table must have its own alias

意思是說:提示說每一個衍生出來的表,必須要有自己的別名!

執行子查詢的時候,外層查詢會將內層的查詢當做一張表來處理,所以我們需要給內層的查詢加上別名

繼續更正:

給查詢到的最大(或最小id)結果當做一張新的表,起別名t,并查詢t.mix_id。

select t.max_id from (select max(id) as max_id from users group by identity_id,name) as t;

可以成功查到最大(或最小)id了,如下圖:

6.第二次嘗試(成功!!!)

delete from users where id not in (
		select t.max_id from 
		(select max(id) as max_id from users group by identity_id,name) as t
		);

執行結果:

成功將重復的數據刪除,只保留了最后一次增加的記錄。同理也可以保留第一次添加的記錄(即刪除每個分組里面除最小id以外的其他條記錄)

3.知識拓展一:更新數據

其他場景應用:要將用戶表user_info里名字(name)為空字符串("")的用戶的狀態(status)改成"0"

update user_info set status='0' where user_id in (select user_id from user_info where name='')

同樣報了如下錯誤:

You can't specify target table ‘user_info' for update in FROM clause

因為在MYSQL里,不能先select一個表的記錄,再按此條件進行更新和刪除同一個表的記錄,解決辦法是,將select得到的結果,再通過中間表select一遍,這樣就規避了錯誤。
以下兩種均可!!!

update user_info set status='0' where user_id in 
	 (select user_id from (select user_id from user_info where name = '') t1);

下面這種也可,細微差別,別名可帶as可不帶,t1.user_id 直接和內層的user_id對應也可以。

update user_info set status='0' where user_id in 
	(select t1.user_id from (select user_id from user_info where name='') as t1);

3.1 分步驟解析

(1)將以下查詢結果作為中間表:

select user_id from user_info where name='';

(2)再查詢一遍中間表作為結果集:

select user_id from (select user_id from user_info where name='') as t;

(3)更新數據

update user_info set status='0' where user_id in 
	(select user_id from (select user_id from user_info where name='') as t1);

4.拓展練習:刪除重復數據

編寫一個 SQL 查詢,來刪除 Person 表中所有重復的電子郵箱,重復的郵箱里只保留 Id 最小 的那個。

+----+------------------+
| Id | Email      |
+----+------------------+
| 1 | john@example.com |
| 2 | bob@example.com |
| 3 | john@example.com |
+----+------------------+

Id 是這個表的主鍵。

例如,在運行你的查詢語句之后,上面的 Person 表應返回以下幾行:

+----+------------------+
| Id | Email      |
+----+------------------+
| 1 | john@example.com |
| 2 | bob@example.com |
+----+------------------+

解答一:

delete from Person where Id not in (
	select t.min_id from (
		select min(Id) as min_id from Person group by Email
		) as t
	);

解答二:

delete p1 from 
	Person as p1,Person as p2 
		where p1.Email=p2.Email and p1.Id > p2.Id;

總結

到此這篇關于mysql數據庫刪除重復數據的方法只保留一條的文章就介紹到這了,更多相關mysql刪除重復數據內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • MyBatis批量插入/修改/刪除MySql數據
  • mysql利用mysqlbinlog命令恢復誤刪除數據的實現
  • mysql5.7.33誤刪除ibdata文件找回數據的方法
  • mysql 大表批量刪除大量數據的實現方法
  • 淺談為什么MySQL不建議delete刪除數據
  • Python批量刪除mysql中千萬級大量數據的腳本分享
  • Mysql刪除數據以及數據表的方法實例
  • MySQL刪除數據,表文件大小依然沒變的原因
  • MySQL 快速刪除大量數據(千萬級別)的幾種實踐方案詳解
  • MySQL Delete 刪數據后磁盤空間未釋放的原因

標簽:甘南 荊州 隨州 錦州 黑河 滄州 資陽 吉林

巨人網絡通訊聲明:本文標題《mysql數據庫刪除重復數據只保留一條方法實例》,本文關鍵詞  mysql,數據庫,刪除,重復,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql數據庫刪除重復數據只保留一條方法實例》相關的同類信息!
  • 本頁收集關于mysql數據庫刪除重復數據只保留一條方法實例的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    制服丝袜亚洲播放| 国产精品久久久久毛片软件| 精品视频在线免费观看| 日本一区二区三区国色天香| 日韩福利电影在线观看| 99久久精品免费精品国产| 精品国产一区二区亚洲人成毛片| 亚洲成人av资源| 91精品国产色综合久久不卡电影| 中文字幕 久热精品 视频在线| 亚洲综合激情小说| 欧美一区二区三区公司| 精品在线播放免费| 国产精品久久久久久久第一福利 | 精品国产乱码久久久久久夜甘婷婷| 亚洲午夜免费电影| 日韩欧美国产午夜精品| 免费久久精品视频| 国产精品久久久久一区二区三区| 欧美亚洲日本一区| 国产一区二区三区免费在线观看| 18涩涩午夜精品.www| 欧美日韩精品欧美日韩精品一| 国产伦精品一区二区三区视频青涩 | 2021久久国产精品不只是精品| 国产亚洲一区字幕| 一本大道久久a久久综合| 伊人夜夜躁av伊人久久| 欧美国产日产图区| 日韩欧美一区二区视频| 色婷婷综合久久久| 99精品桃花视频在线观看| 国内偷窥港台综合视频在线播放| 69堂成人精品免费视频| 色偷偷成人一区二区三区91| 国产成人在线视频网址| 麻豆精品在线播放| 亚洲一区二区三区四区在线| 《视频一区视频二区| 久久这里只有精品6| 欧美一三区三区四区免费在线看| 综合色天天鬼久久鬼色| 国产午夜精品在线观看| 欧美成人一区二区三区| 欧美日韩一区二区三区视频| 99久久99久久精品免费观看 | 捆绑变态av一区二区三区| 亚洲欧美一区二区三区久本道91| 久久久精品影视| 国产日韩欧美高清在线| 精品国产123| 日韩午夜小视频| 国产日韩av一区| 国产精品久久久久影院老司| 欧美激情综合五月色丁香| 国产色爱av资源综合区| 国产精品国产三级国产专播品爱网 | 不卡视频一二三| 日本韩国欧美国产| 欧美一区二区大片| 亚洲视频你懂的| 麻豆精品视频在线观看| 国产成人精品一区二区三区四区| 91蜜桃免费观看视频| 91麻豆精品91久久久久同性| 国产精品久久久久久久岛一牛影视| 依依成人精品视频| 久久国产精品色婷婷| 91丨porny丨户外露出| 精品处破学生在线二十三| 亚洲在线成人精品| 成人美女视频在线观看| 精品福利av导航| 亚洲福利一区二区| 欧美tk—视频vk| 五月天婷婷综合| 不卡的av电影在线观看| 日韩一区二区在线播放| 亚洲欧美一区二区视频| 丁香桃色午夜亚洲一区二区三区| 色94色欧美sute亚洲13| 欧美mv和日韩mv的网站| 一区二区理论电影在线观看| 色婷婷综合久色| 欧美岛国在线观看| 亚洲午夜久久久久久久久久久| 丁香六月久久综合狠狠色| 欧美成人一区二区三区在线观看 | 国产高清一区日本| 久久久久久久久蜜桃| 国产精品影音先锋| 中文字幕高清一区| 97精品视频在线观看自产线路二| 精品免费一区二区三区| 九九九久久久精品| 久久久亚洲精品石原莉奈| 国产成人自拍高清视频在线免费播放| 日韩欧美激情四射| 日日噜噜夜夜狠狠视频欧美人| 7777精品伊人久久久大香线蕉的 | 国产精品欧美久久久久一区二区| 97久久精品人人做人人爽50路| 国产精品蜜臀av| 欧美综合久久久| 韩国视频一区二区| 亚洲精品国产品国语在线app| 欧美一区二区三区人| 成人三级伦理片| 久久精品国产一区二区| 亚洲女同女同女同女同女同69| 欧美精品一区二区蜜臀亚洲| 欧美吻胸吃奶大尺度电影| 国产美女在线观看一区| 天天av天天翘天天综合网色鬼国产 | 久久综合av免费| 欧美天堂一区二区三区| 99热在这里有精品免费| 蜜桃视频在线一区| 婷婷中文字幕综合| 亚洲尤物在线视频观看| 夜夜嗨av一区二区三区四季av| 国产亚洲综合在线| 久久青草国产手机看片福利盒子 | 亚洲一区在线视频观看| 国产精品水嫩水嫩| 国产欧美一区二区精品性| 日韩午夜小视频| 精品噜噜噜噜久久久久久久久试看| 日本高清不卡视频| 欧美在线小视频| 精品婷婷伊人一区三区三| 91麻豆成人久久精品二区三区| 国产成人精品免费| 99久久国产免费看| 91国模大尺度私拍在线视频| 99免费精品在线观看| 在线观看视频91| 欧美日韩国产bt| wwww国产精品欧美| 欧美激情资源网| 亚洲久草在线视频| 亚洲妇熟xx妇色黄| 国产69精品久久久久777| 91麻豆成人久久精品二区三区| 在线免费不卡视频| 精品久久国产字幕高潮| 亚洲欧美一区二区三区孕妇| 麻豆国产欧美日韩综合精品二区| 国产一区二区调教| 91色在线porny| 精品sm捆绑视频| 亚洲一区二区三区四区五区黄 | www.亚洲色图.com| 555夜色666亚洲国产免| 亚洲欧美色图小说| 从欧美一区二区三区| 欧美精品vⅰdeose4hd| 玉米视频成人免费看| 国产精品资源网| 精品国产电影一区二区| 亚洲午夜激情网页| 欧美午夜理伦三级在线观看| 欧美极品另类videosde| 精东粉嫩av免费一区二区三区| 欧美日本一道本在线视频| 亚洲另类在线一区| 91麻豆福利精品推荐| 亚洲欧美一区二区三区国产精品 | 日韩电影免费在线| 欧美色区777第一页| 亚洲精品成人少妇| a级精品国产片在线观看| 欧美精品一区二| 国模冰冰炮一区二区| 精品久久国产字幕高潮| 国内外精品视频| 久久麻豆一区二区| 成人国产亚洲欧美成人综合网| 国产亚洲综合性久久久影院| 国产成人丝袜美腿| 国产精品美女一区二区| 成人免费看视频| 视频一区二区三区入口| 欧美一卡二卡在线观看| 国产乱妇无码大片在线观看| 国产精品久久久久久久第一福利 | 国产精品免费丝袜| 在线精品亚洲一区二区不卡| 99久久夜色精品国产网站| 最新不卡av在线| 精品免费国产二区三区| 91视频精品在这里| 麻豆一区二区99久久久久| 成人免费在线观看入口| 日韩一区二区精品| 99久久综合99久久综合网站| 免费欧美日韩国产三级电影| 国产精品久久久久久久久免费樱桃 | 激情小说亚洲一区| 国产精品国产三级国产普通话蜜臀|