《Mysql必讀MYSQL刪除重復數據的簡單方法》要點:
本文介紹了Mysql必讀MYSQL刪除重復數據的簡單方法,希望對您有用。如果有疑問,可以聯系我們。
代碼如下:
CREATETABLE`users`(
`id`int(10)NOTNULLAUTO_INCREMENT,
`name`char(50)NOTNULL,
PRIMARYKEY(`id`)
)
代碼如下:
deletefromuserswhereidin(selectmin(id)fromusersgroupbynamehavingcount(name)>1);
成果報錯:1093youcan'tspecifytargettable....MYSQL必讀
原因是mysql刪除動作不克不及帶有本表的查詢動作,意思是你刪除users表的東西不克不及以users表的信息為條件所以這個語句會報錯,執行不了.只要通過創建臨時表作為查詢條件.如下MYSQL必讀
代碼如下:
deletefromuserswhereidin(select*from(selectmin(id)fromusersgroupbynamehavingcount(name)>1));
還要注意deletefromusers這里不能用別號MYSQL必讀
其他辦法.
MYSQL必讀
代碼如下:
deleteusersasafromusersasa,(selectmin(id)id,namefromusersgroupbynamehavingcount(name)>1
)asbwherea.name=b.nameanda.id<>b.id;
樹立臨時表:
MYSQL必讀
代碼以下:
createtabletmp_usersselectmin(`id`),`name`fromusersgroupbyname;
truncatetableusers;
insertintousersselect*fromtmp_users;
droptabletmp_users;
MYSQL必讀
歡迎參與《Mysql必讀MYSQL刪除重復數據的簡單方法》討論,分享您的想法,維易PHP學院為您提供專業教程。
轉載請注明本頁網址:
http://www.fzlkiss.com/jiaocheng/13923.html