思路:提取出所有不重復(fù)的記錄到一個(gè)新表,然后drop掉舊表,改新表名字即可。
成都創(chuàng)新互聯(lián)公司憑借在網(wǎng)站建設(shè)、網(wǎng)站推廣領(lǐng)域領(lǐng)先的技術(shù)能力和多年的行業(yè)經(jīng)驗(yàn),為客戶提供超值的營(yíng)銷型網(wǎng)站建設(shè)服務(wù),我們始終認(rèn)為:好的營(yíng)銷型網(wǎng)站就是好的業(yè)務(wù)員。我們已成功為企業(yè)單位、個(gè)人等客戶提供了成都網(wǎng)站建設(shè)、成都網(wǎng)站制作服務(wù),以良好的商業(yè)信譽(yù),完善的服務(wù)及深厚的技術(shù)力量處于同行領(lǐng)先地位。
-----------------------------------
呵呵,放松,
一切都會(huì)好起來(lái)的
!
MySQL 刪除重復(fù)數(shù)據(jù)
有些 MySQL 數(shù)據(jù)表中可能存在重復(fù)的記錄,有些情況我們?cè)试S重復(fù)數(shù)據(jù)的存在,但有時(shí)候我們也需要?jiǎng)h除這些重復(fù)的數(shù)據(jù)。
本章節(jié)我們將為大家介紹如何防止數(shù)據(jù)表出現(xiàn)重復(fù)數(shù)據(jù)及如何刪除數(shù)據(jù)表中的重復(fù)數(shù)據(jù)。
刪除重復(fù)數(shù)據(jù)
如果你想刪除數(shù)據(jù)表中的重復(fù)數(shù)據(jù),你可以使用以下的SQL語(yǔ)句:
from 樹懶學(xué)堂 - 一站式數(shù)據(jù)知識(shí)平臺(tái)
當(dāng)然你也可以在數(shù)據(jù)表中添加 INDEX(索引) 和 PRIMAY KEY(主鍵)這種簡(jiǎn)單的方法來(lái)刪除表中的重復(fù)記錄。方法如下:
假設(shè):查詢一個(gè)結(jié)果集當(dāng)中,要求三個(gè)字段同時(shí)不重復(fù),即當(dāng) 字段1=A 時(shí),字段2=B 那么其他記錄中不再出現(xiàn)字段1=A 并且字段2=B的情況。
select *, count(distinct name) from table group by name
這個(gè) 你想去除那些重復(fù) 就直接在 distinct 后面 后group by 后面加 就可以了
MySQL 過濾重復(fù)數(shù)據(jù)
有些 MySQL 數(shù)據(jù)表中可能存在重復(fù)的記錄,有些情況我們?cè)试S重復(fù)數(shù)據(jù)的存在,但有時(shí)候我們也需要?jiǎng)h除這些重復(fù)的數(shù)據(jù)。
如果你需要讀取不重復(fù)的數(shù)據(jù)可以在 SELECT 語(yǔ)句中使用 DISTINCT 關(guān)鍵字來(lái)過濾重復(fù)數(shù)據(jù)。
from 樹懶學(xué)堂- 一站式數(shù)據(jù)知識(shí)學(xué)習(xí)平臺(tái)
你也可以使用 GROUP BY 來(lái)讀取數(shù)據(jù)表中不重復(fù)的數(shù)據(jù):
假設(shè)表結(jié)構(gòu)為
t1(a,b)
刪除a列有重復(fù)的記錄
delete from t1,(select a from t1 group by a having count(1)1) t where t1.a=t.a;
如果希望對(duì)于有重復(fù)的記錄只保留其中一條而不是全部刪除,則可運(yùn)行下列語(yǔ)句,前提是數(shù)據(jù)表必須含有自增id列。語(yǔ)句如下:
delete from t1,(select a,max(id) as id from t1 group by a having count(1)1) t where t1.a=t.a and t1.idt.id;