sql - 如果值存在则返回 true 的聚合函数

标签 sql oracle aggregate oracle12c

我有一些返回特定字段总和的 SQL 查询,并且有一个与这些值关联的标志列,'Y' 或 'N'。

如果任何一条记录包含“Y”,是否有一个聚合函数会在此标志列上返回真/假?

最佳答案

您可以将条件聚合包装在 CASE 表达式中:

CASE
    WHEN COUNT(CASE WHEN column = 'Y' THEN 1 END) > 0 THEN 'true'
    ELSE 'false'
END

关于sql - 如果值存在则返回 true 的聚合函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57588597/

相关文章:

sql - 当我选择持久计算列时,为什么 SQL Server 会出现 “Compute Scalar”?

sql - 如何使用 SQL Server 从当前日期减去 30 天

database - 使用带有联合和 CLOB 字段的选择时出现 ORA-00932 错误

r - 如何根据名称向量聚合列表中的矩阵?

elasticsearch - Elasticsearch-根据给定术语显示每个返回结果的索引范围内的计数

sql-server - SQL Server 基于值划分时间点

mysql - WHERE a OR b IN (x) 不匹配,但返回行

php - 从 SQL 日期时间转换为 PHP DateTime,使用

oracle - 如何使用 VARRAY 参数调试存储过程?

sql - 如何在oracle中分散两个区间的平均值