【问题标题】:Select values for a column only if there are no rows with that value that satisfy a condition仅当没有具有满足条件的值的行时才为列选择值
【发布时间】:2021-08-02 00:01:15
【问题描述】:

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

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

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

fetch_url
B
C

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

【问题讨论】:

    标签: sql group-by count having


    【解决方案1】:

    你可以使用聚合:

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

    【讨论】:

      猜你喜欢
      • 2021-04-02
      • 2022-01-11
      • 2021-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多