Multi Aggregator
A multi-value aggregator built from a chain of aggregation requests over a PagedListBase. Each chain method adds another expression to the generated SELECT list. execute returns a Map<String, Any?> keyed by the alias of each added aggregation.
Obtained by chaining additional methods onto a SingleAggregator — conceptually the "two or more aggregations" view. Acquire via PagedListBase.getAggregator and then chain .sum(…), .avg(…), … Aggregations respect the parent list's constraints and per-column filters.
val row = list.getAggregator()
.sum("revenue", "total")
.avg("revenue", "average")
.count("*", "cnt")
.execute()
val total = row["total"] as BigDecimalProperties
Functions
Adds AVG(path) with an optional alias.
Adds AVG(path) using a type-safe ScalarPath with an optional alias.
Adds COUNT(path) with an optional alias. Pass "*" for COUNT(*).
Adds COUNT(path) using a type-safe ScalarPath with an optional alias.
Adds COUNT(DISTINCT path) with an optional alias.
Adds COUNT(DISTINCT path) using a type-safe ScalarPath with an optional alias.
Adds MAX(path) with an optional alias.
Adds MAX(path) using a type-safe ScalarPath with an optional alias.
Adds MIN(path) with an optional alias.
Adds MIN(path) using a type-safe ScalarPath with an optional alias.
Adds an arbitrary SQL expression as a standalone aggregation column. The expression is emitted verbatim — callers are responsible for writing safe, dialect-compatible SQL.
Adds SUM(path) with an optional alias.
Adds SUM(path) using a type-safe ScalarPath with an optional alias.