如何在一个mysql命令中删除此选择查询的结果?

如何在一个mysql命令中删除此选择查询的结果?,mysql,select,duplicates,freeradius,Mysql,Select,Duplicates,Freeradius,表名radacct radacctid是pk accountuniqueid是订阅者在连接时生成的几乎唯一的字符串 这是一个mysql查询,它输出重复的条目,我希望以相同的命令y删除结果,以自动化此过程 select * from radacct group by acctuniqueid HAVING (radacct.acctuniqueid > 1) 我假设您在HAVING子句中的意思是HAVING COUNT(acctuniqueid)>1。如果确实要删除所有副本(即不保留任何副

表名radacct radacctid是pk accountuniqueid是订阅者在连接时生成的几乎唯一的字符串

这是一个mysql查询,它输出重复的条目,我希望以相同的命令y删除结果,以自动化此过程

select *
from radacct
group by acctuniqueid
HAVING
(radacct.acctuniqueid > 1)

我假设您在
HAVING
子句中的意思是
HAVING COUNT(acctuniqueid)>1
。如果确实要删除所有副本(即不保留任何副本):

中间
SELECT
是MySQL忽略直接子选择中的相同表引用所必需的


建议您在删除之前执行完整的表备份。

是否要删除此查询中输出的内容?请小心您想要的内容。如果查询说acctuniqueid=100,您是想删除acctuniqueid=100的每一行,还是只保留acctuniqueid=100的一行谢谢,这超出了我在MySQL领域的能力。
DELETE FROM
    radacct
WHERE
    `acctuniqueid` IN (
        SELECT `acctuniqueid` FROM (
            SELECT `acctuniqueid`
            FROM radacct
            GROUP BY `acctuniqueid`
            HAVING COUNT(`acctuniqueid`) > 1
        ) x
    )
;