主頁 > 知識庫 > MySQL查詢重復(fù)數(shù)據(jù)(刪除重復(fù)數(shù)據(jù)保留id最小的一條為唯一數(shù)據(jù))

MySQL查詢重復(fù)數(shù)據(jù)(刪除重復(fù)數(shù)據(jù)保留id最小的一條為唯一數(shù)據(jù))

熱門標簽:昆明電信400電話辦理 淄博400電話申請 百度地圖標注后不顯示 電銷機器人 行業(yè) 俄國地圖標注app 溫州瑞安400電話怎么申請 電銷機器人各個細節(jié)介紹 南昌高頻外呼系統(tǒng)哪家公司做的好 電話機器人市場趨勢

開發(fā)背景:

最近在做一個批量數(shù)據(jù)導(dǎo)入到MySQL數(shù)據(jù)庫的功能,從批量導(dǎo)入就可以知道,這樣的數(shù)據(jù)在插入數(shù)據(jù)庫之前是不會進行重復(fù)判斷的,因此只有在全部數(shù)據(jù)導(dǎo)入進去以后在執(zhí)行一條語句進行刪除,保證數(shù)據(jù)唯一性。

下面話不多說了,來一起看看詳細的介紹吧

實戰(zhàn):

表結(jié)構(gòu)如下圖所示:

表明:brand

 

操作:

使用SQL語句查詢重復(fù)的數(shù)據(jù)有哪些:

SELECT * from brand WHERE brandName IN(
select brandName from brand GROUP BY brandName HAVING COUNT(brandName)>1 #條件是數(shù)量大于1的重復(fù)數(shù)據(jù)
)

使用SQL刪除多余的重復(fù)數(shù)據(jù),并保留Id最小的一條唯一數(shù)據(jù):

注意點:

錯誤SQL:DELETE FROM brand WHERE brandName IN (select brandName from brand GROUP BY brandName HAVING COUNT(brandName)>1)
AND Id NOT IN (select MIN(Id) from brand GROUP BY brandName HAVING COUNT(brandName)>1) 

提示: You can't specify target table 'brand' for update in FROM clause   不能為FROM子句中的更新指定目標表“brand”

原因是:不能將直接查處來的數(shù)據(jù)當做刪除數(shù)據(jù)的條件,我們應(yīng)該先把查出來的數(shù)據(jù)新建一個臨時表,然后再把臨時表作為條件進行刪除功能

正確SQL寫法:
 DELETE FROM brand WHERE brandName IN (SELECT brandName FROM (SELECT brandName FROM brand GROUP BY brandName HAVING COUNT(brandName)>1) e)
 AND Id NOT IN (SELECT Id FROM (SELECT MIN(Id) AS Id FROM brand GROUP BY brandName HAVING COUNT(brandName)>1) t)

#查詢顯示重復(fù)的數(shù)據(jù)都是顯示最前面的幾條,因此不需要查詢是否最小值

結(jié)果如下圖:


總結(jié):

很多東西都是需要自己一步一步的去探究的,當然網(wǎng)上的建議也是非常寶貴的借鑒和資源,無論做什么開發(fā)我們都需要理解它的工作原理才能夠更好的掌握它。

好了,以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • mysql 數(shù)據(jù)表中查找重復(fù)記錄
  • MySQL根據(jù)某一個或者多個字段查找重復(fù)數(shù)據(jù)的sql語句
  • mysql查找刪除重復(fù)數(shù)據(jù)并只保留一條實例詳解
  • mysql查詢表里的重復(fù)數(shù)據(jù)方法
  • MySQL 刪除數(shù)據(jù)庫中重復(fù)數(shù)據(jù)方法小結(jié)
  • 很全面的MySQL處理重復(fù)數(shù)據(jù)代碼
  • MySQL數(shù)據(jù)庫中刪除重復(fù)記錄的方法總結(jié)[推薦]
  • 分享MYSQL插入數(shù)據(jù)時忽略重復(fù)數(shù)據(jù)的方法
  • MySQL使用UNIQUE實現(xiàn)數(shù)據(jù)不重復(fù)插入
  • 一次現(xiàn)場mysql重復(fù)記錄數(shù)據(jù)的排查處理實戰(zhàn)記錄

標簽:葫蘆島 拉薩 洛陽 嘉峪關(guān) ???/a> 安徽 吐魯番 甘南

巨人網(wǎng)絡(luò)通訊聲明:本文標題《MySQL查詢重復(fù)數(shù)據(jù)(刪除重復(fù)數(shù)據(jù)保留id最小的一條為唯一數(shù)據(jù))》,本文關(guān)鍵詞  MySQL,查詢,重復(fù),數(shù)據(jù),刪除,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL查詢重復(fù)數(shù)據(jù)(刪除重復(fù)數(shù)據(jù)保留id最小的一條為唯一數(shù)據(jù))》相關(guān)的同類信息!
  • 本頁收集關(guān)于MySQL查詢重復(fù)數(shù)據(jù)(刪除重復(fù)數(shù)據(jù)保留id最小的一條為唯一數(shù)據(jù))的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章