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

BOOL_AND

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

PostgreSQL 17.5
BOOL_AND(expression)

Параметры

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

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

true, false или NULL

Примеры

Все ли родились до 1990 года

PostgreSQL 17.5
SELECT status,
	BOOL_AND(birthday < '1990-01-01') AS all_before_1990,
	BOOL_OR(birthday < '1990-01-01') AS any_before_1990
FROM FamilyMembers
GROUP BY status
ORDER BY status;
statusall_before_1990any_before_1990
daughterfalsetrue
fathertruetrue
mothertruetrue
sontruetrue

Есть ли интернет во всех комнатах

PostgreSQL 17.5
SELECT home_type,
	BOOL_AND(has_internet) AS all_have_internet,
	COUNT(*) AS rooms
FROM Rooms
GROUP BY home_type
ORDER BY home_type;
home_typeall_have_internetrooms
Entire home/aptfalse21
Private roomfalse28
Shared roomtrue1

Подробности

NULL не учитываются, для пустого набора результат NULL. EVERY — синоним BOOL_AND из стандарта SQL. MIN и MAX к boolean не применяются.

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