如果值存在,则聚合函数返回true

时间:2019-08-21 09:32:19

标签: sql oracle aggregate oracle12c

我有一些SQL查询,该查询返回某些字段的总和,并且有一个与这些值(“ Y”或“ N”)相关的标志列。

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

select nvl(max(1),0) from your_table
where column = 'Y'