gpt4 book ai didi

mysql从第二个元素之后的组中删除

转载 作者:行者123 更新时间:2023-11-29 07:07:58 24 4
gpt4 key购买 nike

我有一张 table :

ID     Friend
John Rita
John Jack
Jack Rita
John Tom
Rita John

我想编写一个查询,删除所有具有超过 2 个元素的 ID。换句话说,我为每个 ID 最多保留 2 个 friend

我尝试过使用 group by 或类似的东西,但我现在不知道如何执行删除。

结果必须是:

ID  Friend
John Rita
John Jack
Jack Rita
Rita John

最佳答案

一种方法是联接分组表并删除无法建立联接的所有记录

delete t1
from your_table t1
left join
(
select id, min(friend) as f1, max(friend) as f2
from your_table
group by id
) t2 on t1.id = t2.id
and t1.friend in (t2.f1, t2.f2)
where t2.id is null

内部选择为每个 ID 获取 2 个 friend 。

关于mysql从第二个元素之后的组中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40917315/

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