Mysql刪除重復(fù)數(shù)據(jù)保留最小的id 的解決方法
在網(wǎng)上查找刪除重復(fù)數(shù)據(jù)保留id最小的數(shù)據(jù),方法如下:
DELETE
FROM
people
WHERE
peopleName IN (
SELECT
peopleName
FROM
people
GROUP BY
peopleName
HAVING
count(peopleName) > 1
)
AND peopleId NOT IN (
SELECT
min(peopleId)
FROM
people
GROUP BY
peopleName
HAVING
count(peopleName) > 1
)
自己使用的時(shí)候顯示報(bào)錯(cuò):
delete from tb where id in (SELECT max(id) from tb GROUP BY user HAVING count(user)>1)
[Err] 1093 - You can't specify target table ‘XXX' for update in FROM clause
暫時(shí)不知道是什么原因?qū)е碌摹?/p>
然后想辦法分布操作,首先篩選出有重復(fù)user的數(shù)據(jù),然后用max()選出其中較大的那一行:
SELECT max(id) from tb GROUP BY user HAVING count(user)>1
然后再根據(jù)得到的max(id)逐條刪除多余的數(shù)據(jù)
delete from tb where id=xx
是個(gè)笨方法,暫時(shí)先解決問題吧。
總結(jié)
以上所述是小編給大家介紹的Mysql刪除重復(fù)數(shù)據(jù)保留最小的id 的解決方法,希望對(duì)大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
相關(guān)文章
MySQL中case?when對(duì)NULL值判斷的踩坑記錄
最近在學(xué)習(xí)Hive基礎(chǔ)知識(shí)時(shí),遇到了遇到了Case?When?Else?End語(yǔ)法,這篇文章主要給大家介紹了關(guān)于MySQL中case?when對(duì)NULL值判斷的踩坑記錄,需要的朋友可以參考下2021-12-12
MySQL中在查詢結(jié)果集中得到記錄行號(hào)的方法
這篇文章主要介紹了MySQL中在查詢結(jié)果集中得到記錄行號(hào)的方法,本文解決方法是通過預(yù)定義用戶變量來實(shí)現(xiàn),需要的朋友可以參考下2015-01-01
MySQL修改安全策略時(shí)報(bào)錯(cuò):ERROR?1193?(HY000)的解決辦法
這篇文章主要給大家介紹了關(guān)于MySQL修改安全策略時(shí)報(bào)錯(cuò):ERROR?1193?(HY000):?Unknown?system?variable?‘validate_password_policy‘的解決方法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02
mysql中 ${param}與#{param}使用區(qū)別
這篇文章主要介紹了mysql中 ${param}與#{param}使用區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
詳解遠(yuǎn)程連接Mysql數(shù)據(jù)庫(kù)的問題(ERROR 2003 (HY000))
本篇文章是對(duì)遠(yuǎn)程連接Mysql數(shù)據(jù)庫(kù)的問題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06

