{eval=Array;=+count(Array);}

成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

問答專欄Q & A COLUMN

Mysql如何去掉數(shù)據(jù)庫中的重復(fù)記錄?

EminjannnEminjannn 回答0 收藏1
收藏問題

3條回答

caoym

caoym

回答于2022-06-28 14:00

很簡單 通過id刪除

DELETE

FROM

table_name AS ta

WHERE

ta.唯一鍵 <> (

SELECT

t.maxid

FROM

( SELECT max( tb.唯一鍵 ) AS maxid FROM table_name AS tb WHERE ta.判斷重復(fù)的列 = tb.判斷重復(fù)的列 ) t

);

評(píng)論0 贊同0
  •  加載中...
wuyumin

wuyumin

回答于2022-06-28 14:00

從mysql數(shù)據(jù)庫刪除重復(fù)記錄只保留其中一條

這兩天做了一個(gè)調(diào)用第三方接口的小程序,因?yàn)槭菍?shí)時(shí)更新數(shù)據(jù),所以請(qǐng)求接口的頻率就很高,這樣有時(shí)會(huì)出現(xiàn)往數(shù)據(jù)庫插入重復(fù)的數(shù)據(jù),對(duì)數(shù)據(jù)庫造成壓力也不方便管理,因?yàn)橐ㄟ^原生sql語句,解決數(shù)據(jù)庫的去重問題.在過程中遇到了麻煩,最終解決了分享出來。

要?jiǎng)h除重復(fù)的記錄,就要先查出重復(fù)的記錄,這個(gè)很容易做到

select * from cqssc group by expect having count(expect) > 1

注意:這是查出所有重復(fù)記錄的第一條記錄,需要保留,因此需要添加查詢條件,查出這三條的重復(fù)記錄

select id,expect from cqssc where expect in (select expect from cqssc group by expect having count(expect)>1)

and id not in(select min(id) from cqssc group by expect having count(expect)>1)

以上得到的結(jié)果就是我們需要?jiǎng)h除的記錄!

下面是我最初做錯(cuò)的地方,既然要?jiǎng)h除,可能都會(huì)想到這樣很簡單了

報(bào)錯(cuò)了!!!在Mysql中是不能刪除查詢出來的記錄的,這里很容易錯(cuò),當(dāng)時(shí)在這里糾結(jié)了很久,而是要通過一張臨時(shí)表來解決。

delete from cqssc where id in (select id from (select id from cqssc where expect in

(select expect from cqssc group by expect having count(expect)>1) and id not in

(select min(id) from cqssc group by expect having count(expect)>1)) as tmpresult)

再運(yùn)行試試

刪除成功,最后再查詢一下看是否還有重復(fù)記錄

可以戳原文看看:https://www.cnblogs.com/jdbeyond/p/8157224.html

評(píng)論0 贊同0
  •  加載中...
wpw

wpw

回答于2022-06-28 14:00

直接寫個(gè)小程序把重復(fù)的刪除掉

評(píng)論0 贊同0
  •  加載中...

最新活動(dòng)

您已邀請(qǐng)0人回答 查看邀請(qǐng)

我的邀請(qǐng)列表

  • 擅長該話題
  • 回答過該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費(fèi)偷看金額在0.1-10元之間
<