仅当不存在具有满足条件的值的行时才为列选择值

时间:2021-05-11 15:26:37

标签: sql group-by count having

我有一个存储 http 获取日志的表,假设我们有两列:fetch_urlsuccess。一些示例行:

success   fetch_url
TRUE      A
FALSE     A
FALSE     B
FALSE     B
FALSE     C

如您所见,A 至少有一次获取成功,但 BC 没有一次获取成功。我如何编写一个查询,只选择那些从未成功的 fetch url?即:

fetch_url
B
C

我正在尝试使用 GROUP BYCOUNTHAVING 的某种组合,但我无法得到正确的查询。

1 个答案:

答案 0 :(得分:1)

您可以使用聚合:

select fetch_url
from t
group by fetch_url
having sum(case when sucess = 'TRUE' then 1 else 0 end) = 0;