Справочник по функциям

BOOL_OR

Возвращает true, если логическое выражение истинно хотя бы для одной строки группы.

PostgreSQL 17.5
BOOL_OR(expression)

Параметры

expressionboolean
Логическое выражение или столбец типа boolean

Возвращаемое значение

true, false или NULL

Примеры

NULL среди значений

PostgreSQL 17.5
SELECT BOOL_AND(x) AS all_true,
	BOOL_OR(x) AS any_true
FROM (
		VALUES (TRUE),
			(NULL),
			(false)
	) AS t(x);
all_trueany_true
falsetrue

Есть ли телевизор хотя бы в одной комнате

PostgreSQL 17.5
SELECT home_type,
	BOOL_OR(has_tv) AS some_have_tv,
	COUNT(*) AS rooms
FROM Rooms
GROUP BY home_type
ORDER BY home_type;
home_typesome_have_tvrooms
Entire home/apttrue21
Private roomtrue28
Shared roomtrue1

Подробности

NULL не учитываются, для пустого набора результат NULL. Тот же ответ даёт COUNT(*) FILTER (WHERE ...) > 0, но BOOL_OR короче.

Смотрите также