gpt4 book ai didi

mysql - 根据mysql中的另一个查询删除记录

转载 作者:行者123 更新时间:2023-11-29 05:57:18 25 4
gpt4 key购买 nike

我在 MySQL 中有一个查询,根据它我发现了某些列的重复记录。

select max(id), count(*) as cnt 
from table group by start_id, end_id, mysqltable
having cnt>1;

上面的查询为我提供了 max(id) 和具有相同 start_id,end_id,mysqltable 列值的记录数。

我想删除所有匹配上述查询的max(id)列的记录

我该怎么做?

我试过如下

delete from table 
where (select max(id), count(*) as cnt
from table group by start_id,end_id,mysqltable
having cnt>1)

但是无法删除记录

最佳答案

您可以使用 JOIN 删除重复记录。

DELETE t1 FROM table t1
INNER JOIN
table t2
WHERE
t1.id > t2.id AND t1.start_id = t2.start_id AND t1.end_id = t2.end_id AND t1.mysqltable = t2.mysqltable;

此查询保留最低的 ID 并删除最高的。

关于mysql - 根据mysql中的另一个查询删除记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48235724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com