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;Есть ли интернет во всех комнатах
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;Подробности
NULL не учитываются, для пустого набора результат NULL. EVERY — синоним BOOL_AND из стандарта SQL. MIN и MAX к boolean не применяются.