BOOL_AND() GROUP BY ...
All functions > GROUP BY > BOOL_AND() GROUP BY ...
Returns TRUE if all values in the group are true.
Syntax
BOOL_AND(expr) [ FILTER (WHERE condition) ] [ GROUP BY feature [, feature ...] ]
Notes
- Logical AND aggregation across all values in the group
- Returns FALSE if any value is FALSE
- Returns TRUE if all values are TRUE
- NULL values are ignored in the calculation
- Returns TRUE for empty groups (vacuous truth)
- Can be used with WHERE clause to filter before aggregation
- Can be used with GROUP BY clause for grouped aggregation
Examples
FeatureQL
SELECT
f1 := ZIP(ARRAY[TRUE, FALSE, TRUE] AS value).TRANSFORM(SELECT BOOL_AND(value)).UNWRAP_ONE(), -- AND of values
f2 := ZIP(ARRAY[TRUE, TRUE, TRUE] AS value).TRANSFORM(SELECT BOOL_AND(value)).UNWRAP_ONE() -- AND of values
;Result
| f1 BOOLEAN | f2 BOOLEAN |
|---|---|
| false | true |