您好,登錄后才能下訂單哦!
在數(shù)據(jù)庫(kù)表里,我們有時(shí)候會(huì)保存了很多重復(fù)的數(shù)據(jù),這些重復(fù)的數(shù)據(jù)浪費(fèi)資源,我們要將其刪除掉,應(yīng)該怎么處理呢?下面來(lái)看一下。
先看下我們的表數(shù)據(jù),有一些數(shù)據(jù)是重復(fù)的。
要查找重復(fù)數(shù)據(jù),我們可以使用mysql里的having語(yǔ)句,如圖。
執(zhí)行這個(gè)語(yǔ)句后,我們可以看到現(xiàn)在的結(jié)果里顯示的就是表中重復(fù)數(shù)據(jù)的字段。
要?jiǎng)h除這些重復(fù)的數(shù)據(jù),我們找出這些數(shù)據(jù)的ID,在select語(yǔ)句里,添加id字段,使用max函數(shù),可以得到重復(fù)數(shù)據(jù)最后面的id。
執(zhí)行結(jié)果如圖,得到重復(fù)數(shù)據(jù)的id為8和9。
這樣我們就可以使用delete語(yǔ)句來(lái)刪除這二個(gè)id的數(shù)據(jù)了。
但如果有很多重復(fù)的數(shù)據(jù),不想一個(gè)一個(gè)的寫(xiě)這些id怎么辦?
添加一個(gè)子查詢(xún),只把id字段查詢(xún)出來(lái),如圖。
然后在外邊添加一個(gè)delete語(yǔ)句就行了,詳細(xì)代碼如圖。
要注意的是,如果重復(fù)數(shù)據(jù)的行有三行或以上的,我們需要執(zhí)行這個(gè)語(yǔ)句多次才行,因?yàn)閳?zhí)行一次只會(huì)刪除每組重復(fù)數(shù)據(jù)中的一條。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。