溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在MySQL中查詢重復數據

發布時間:2021-05-12 17:54:45 來源:億速云 閱讀:207 作者:Leah 欄目:MySQL數據庫

今天就跟大家聊聊有關怎么在MySQL中查詢重復數據,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

表結構如下圖所示:

表明:brand

怎么在MySQL中查詢重復數據 

操作:

使用SQL語句查詢重復的數據有哪些:

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

使用SQL刪除多余的重復數據,并保留Id最小的一條唯一數據:

注意點:

錯誤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”

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

正確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)

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

結果如下圖:

怎么在MySQL中查詢重復數據

看完上述內容,你們對怎么在MySQL中查詢重復數據有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女