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 BOOLEANf2 BOOLEAN
falsetrue

Last update at: 2026/05/26 17:22:09