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
-- AND of values
-- AND of values
RETURN
    f1 := ZIP(ARRAY(TRUE, FALSE, TRUE) AS value).TRANSFORM(
        RETURN BOOL_AND(value)
    ).UNWRAP_ONE(),
    f2 := ZIP(ARRAY(TRUE, TRUE, TRUE) AS value).TRANSFORM(
        RETURN BOOL_AND(value)
    ).UNWRAP_ONE()
;
Result
f1 BOOLEANf2 BOOLEAN
falsetrue