gpt4 book ai didi

mysql - SQL - 仅在没有行保存值时返回

转载 作者:行者123 更新时间:2023-11-29 01:51:47 25 4
gpt4 key购买 nike

我正在寻找一种方法,仅当 NO 行具有特定值时才返回 ID

例如:

*ID* | *Date*    
1 | 01/01/2001
1 | 02/02/2002
1 | 03/03/2003

如果我希望 SQL 仅在没有日期等于 02/02/2002 时返回 ID,我该如何编写脚本?我尝试了以下但失败了:

select *ID* 
from (example)
where date != 02/02/2002

问题是这仍然会返回 ID - 1,因为第一行和最后一行不等于 02/02/2002。我的目标是不返回任何结果,因为至少有一行包含匹​​配日期。

当任何行中有匹配日期时,我需要脚本完全跳过 ID

为清楚起见,当使用与上面相同的“select”时,下面应该返回 ID,因为没有匹配的日期:

*ID*    |   *Date*
2 | 03/03/2003
2 | 04/04/2004
2 | 05/05/2005

最佳答案

你需要 Group ByHaving 子句

select ID 
From yourtable
group by ID
Having count (case when date != '02/02/2002' then 1 end) = count(*)

正如 mathguy 所提到的,这也有效

select ID 
From yourtable
group by ID
Having count(case when date = '02/02/2002' then 1 end) = 0

关于mysql - SQL - 仅在没有行保存值时返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39880162/

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