gpt4 book ai didi

mysql - 如何尽可能简单地编写查询来获得此结果

转载 作者:行者123 更新时间:2023-11-29 14:48:27 26 4
gpt4 key购买 nike

我有这个行集:

ID player_id team_id       created
1 2 1 2011-05-03 19:07:03
2 3 1 2011-05-05 12:13:18
3 2 5 2011-05-07 18:12:54

我会选择属于 team_id=1 的玩家,但从这个结果中我想删除player_id=2,因为该玩家实际上已经移动并且他在第 5 队中比赛(在 team_id=1 中不再存在)。所以最终的结果将是:

ID player_id team_id       created
2 3 1 2011-05-05 12:13:18

如何编写查询来执行此操作?我可以将其写在单个查询中吗?怎么办?

问候

最佳答案

基本上,您可以首先选择曾经属于某个团队的每个人,然后删除在加入相关团队后创建的另一个团队的条目的任何人。此查询特别允许您仅在一处更改 team_id,并且如果您想检查多个团队,则可以获得正确的结果。

SELECT
t1.*
FROM
my_table t1
WHERE
t1.team_id = 1
AND
NOT EXISTS(
SELECT
t2.id
FROM
my_table t2
WHERE
t2.player_id = t1.player_id
AND
t2.team_id != t1.team_id
AND
t2.created > t1.created);

关于mysql - 如何尽可能简单地编写查询来获得此结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6332701/

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