0
表名radacct radacctid是pk accountuniqueid是訂閱者在連接時生成的幾乎唯一的字符串。如何在一個mysql命令中刪除這個選擇查詢的結果?
這是輸出重複條目的mysql查詢我想在相同的命令中刪除結果y以自動執行此過程。
select *
from radacct
group by acctuniqueid
HAVING
(radacct.acctuniqueid > 1)
表名radacct radacctid是pk accountuniqueid是訂閱者在連接時生成的幾乎唯一的字符串。如何在一個mysql命令中刪除這個選擇查詢的結果?
這是輸出重複條目的mysql查詢我想在相同的命令中刪除結果y以自動執行此過程。
select *
from radacct
group by acctuniqueid
HAVING
(radacct.acctuniqueid > 1)
我假設你在HAVING
條款意味着HAVING COUNT(acctuniqueid) > 1
。如果你真的要刪除所有重複的(即保持受騙者的NONE):
DELETE FROM
radacct
WHERE
`acctuniqueid` IN (
SELECT `acctuniqueid` FROM (
SELECT `acctuniqueid`
FROM radacct
GROUP BY `acctuniqueid`
HAVING COUNT(`acctuniqueid`) > 1
) x
)
;
中介SELECT
是必要的MySQL的忽視直接子選擇在同一個表引用。
請注意在刪除之前執行全表備份。
謝謝你的工作得很好,超過了我在MySQL領域的能力。 – user3104909
是否要刪除在此查詢中輸出的內容 –
請注意您的期望。如果查詢顯示acctuniqueid = 100是否要刪除acctuniqueid = 100 **的每一行,或者您想只保留一行,其中acctuniqueid = 100 ** –