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

Posted

技术标签:

【中文标题】仅当没有具有满足条件的值的行时才为列选择值【英文标题】: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 的某种组合,但我无法获得正确的查询。

【问题讨论】:

【参考方案1】:

你可以使用聚合:

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

【讨论】:

以上是关于仅当没有具有满足条件的值的行时才为列选择值的主要内容,如果未能解决你的问题,请参考以下文章

计算另一个图像像素满足条件的像素值的平均值

SQL:将列值链接到列名以满足某些条件

仅当满足特定条件时,JQuery 才会自动完成

满足条件时列表中的值的总和

excel中if函数若满足条件返回“是”,不满足条件无返回值怎么写

条件模板剑道ui