Module org.jooq
Package org.jooq

Interface AggregateFilterStep<T>

All Superinterfaces:
Field<T>, FieldOrConstraint, FieldOrRow, FieldOrRowOrSelect, GroupField, Named, OrderField<T>, QueryPart, SelectField<T>, SelectFieldOrAsterisk, Serializable, TableElement, Typed<T>, WindowBeforeOverStep<T>, WindowOverStep<T>
All Known Subinterfaces:
AggregateFunction<T>, ArrayAggOrderByStep<T>, GroupConcatOrderByStep, GroupConcatSeparatorStep, JSONArrayAggNullStep<T>, JSONArrayAggOrderByStep<J>, JSONArrayAggReturningStep<T>, JSONObjectAggNullStep<T>, JSONObjectAggReturningStep<T>, OptionallyOrderedAggregateFunction<T>, QOM.AnyValue<T>, QOM.ArrayAgg<T>, QOM.Avg, QOM.BitAndAgg<T>, QOM.BitNandAgg<T>, QOM.BitNorAgg<T>, QOM.BitOrAgg<T>, QOM.BitXNorAgg<T>, QOM.BitXorAgg<T>, QOM.BoolAnd, QOM.BoolOr, QOM.Collect<T,A>, QOM.Corr, QOM.Count, QOM.CountTable, QOM.CovarPop, QOM.CovarSamp, QOM.JSONArrayAgg<J>, QOM.JSONObjectAgg<J>, QOM.Max<T>, QOM.MaxBy<T>, QOM.Median, QOM.Min<T>, QOM.MinBy<T>, QOM.Mode<T>, QOM.MultisetAgg<R>, QOM.Product, QOM.RatioToReport, QOM.RegrAvgX, QOM.RegrAvgY, QOM.RegrCount, QOM.RegrIntercept, QOM.RegrR2, QOM.RegrSlope, QOM.RegrSxx, QOM.RegrSxy, QOM.RegrSyy, QOM.StddevPop, QOM.StddevSamp, QOM.Sum, QOM.VarPop, QOM.VarSamp, QOM.XMLAgg, XMLAggOrderByStep<T>

public interface AggregateFilterStep<T> extends WindowBeforeOverStep<T>
The step in the specification of aggregate functions where the SQL:2003 standard FILTER clause can be added.

Referencing XYZ*Step types directly from client code

It is usually not recommended to reference any XYZ*Step types directly from client code, or assign them to local variables. When writing dynamic SQL, creating a statement's components dynamically, and passing them to the DSL API statically is usually a better choice. See the manual's section about dynamic SQL for details:

Drawbacks of referencing the XYZ*Step types directly:

  • They're operating on mutable implementations (as of jOOQ 3.x)
  • They're less composable and not easy to get right when dynamic SQL gets complex
  • They're less readable
  • They might have binary incompatible changes between minor releases
Lukas Eder