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
    -- AND of values
    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()
;
Result
f1 BOOLEANf2 BOOLEAN
falsetrue

Last update at: 2026/06/20 10:08:10