Select 列的值,仅当没有具有满足条件的值的行时

Select values for a column only if there are no rows with that value that satisfy a condition

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

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

如您所见,A 至少有一次提取成功,但 BC 没有一次提取成功。我如何编写一个查询,该查询将 select 仅获取那些从未成功过的网址?即:

fetch_url
B
C

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

您可以使用聚合:

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