# `Selecto.Subfilter.SQL.AggregationBuilder`

Builds subqueries with aggregations (COUNT, SUM, AVG, etc.).

This strategy is used for subfilters that perform an aggregation and
compare the result to a value, such as checking if a film has more
than 5 actors.

## Example SQL

    (
      SELECT COUNT(fa.actor_id)
      FROM film_actor fa
      WHERE fa.film_id = film.film_id
    ) > 5

# `generate`

```elixir
@spec generate(
  Selecto.Subfilter.Spec.t(),
  Selecto.Subfilter.JoinPathResolver.JoinResolution.t(),
  any()
) ::
  {:ok, String.t(), [any()]} | {:error, Selecto.Subfilter.Error.t()}
```

Generate aggregation subquery SQL for a given subfilter.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
