Selecto.Subfilter.SQL.AggregationBuilder (Selecto v0.3.16)

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

Example SQL

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

Link to this section Summary

Functions

Generate aggregation subquery SQL for a given subfilter.

Link to this section Functions

Link to this function

generate(spec, join_resolution, registry)

@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.