欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MYSQL刪除重復(fù)數(shù)據(jù)的簡(jiǎn)單方法

 更新時(shí)間:2013年11月19日 14:47:24   作者:  
業(yè)務(wù)中遇到要從表里刪除重復(fù)數(shù)據(jù)的需求,使用了下面的方法,執(zhí)行成功,大家可以參考使用

復(fù)制代碼 代碼如下:

CREATETABLE`users`(
`id`int(10)NOTNULLAUTO_INCREMENT,
`name`char(50)NOTNULL,
PRIMARYKEY(`id`)
)

復(fù)制代碼 代碼如下:

deletefromuserswhereidin(selectmin(id)fromusersgroupbynamehavingcount(name)>1);

結(jié)果報(bào)錯(cuò):1093youcan'tspecifytargettable....

原因是mysql刪除動(dòng)作不能帶有本表的查詢(xún)動(dòng)作,意思是你刪除users表的東西不能以u(píng)sers表的信息為條件所以這個(gè)語(yǔ)句會(huì)報(bào)錯(cuò),執(zhí)行不了。只要通過(guò)創(chuàng)建臨時(shí)表作為查詢(xún)條件。如下

復(fù)制代碼 代碼如下:

deletefromuserswhereidin(select*from(selectmin(id)fromusersgroupbynamehavingcount(name)>1));

還要注意deletefromusers這里不能用別名

其他方法。

復(fù)制代碼 代碼如下:

deleteusersasafromusersasa,(selectmin(id)id,namefromusersgroupbynamehavingcount(name)>1
)asbwherea.name=b.nameanda.id<>b.id;


建立臨時(shí)表:

復(fù)制代碼 代碼如下:

createtabletmp_usersselectmin(`id`),`name`fromusersgroupbyname;

truncatetableusers;
insertintousersselect*fromtmp_users;
droptabletmp_users;

相關(guān)文章

  • mysql分頁(yè)性能探索

    mysql分頁(yè)性能探索

    本文帶領(lǐng)大家一起探討mysql分頁(yè)性能,需要的朋友一起看看吧
    2017-10-10
  • MySQL中事件調(diào)度器用法與使用場(chǎng)景詳解

    MySQL中事件調(diào)度器用法與使用場(chǎng)景詳解

    MySQL事件調(diào)度器是MySQL 5.1版本引入的一個(gè)強(qiáng)大功能,允許數(shù)據(jù)庫(kù)管理員創(chuàng)建和調(diào)度在特定時(shí)間或按照特定間隔自動(dòng)執(zhí)行的任務(wù),下面小編就來(lái)和大家詳細(xì)介紹一下它的具體使用吧
    2025-08-08
  • 最新評(píng)論