Module org.jooq
Package org.jooq

Interface GroupField

All Superinterfaces:
QueryPart, Serializable
All Known Subinterfaces:
AggregateFilterStep<T>, AggregateFunction<T>, ArrayAggOrderByStep<T>, CaseConditionStep<T>, CaseWhenStep<V,T>, CommonTableExpression<R>, Condition, False, Field<T>, GroupConcatOrderByStep, GroupConcatSeparatorStep, JSONArrayAggNullStep<T>, JSONArrayAggOrderByStep<J>, JSONArrayAggReturningStep<T>, JSONArrayNullStep<T>, JSONArrayReturningStep<T>, JSONExistsOnStep, JSONObjectAggNullStep<T>, JSONObjectAggReturningStep<T>, JSONObjectNullStep<T>, JSONObjectReturningStep<T>, JSONTableColumnPathStep, JSONTableColumnsStep, JSONValueOnStep<J>, JSONValueReturningStep<T>, LikeEscapeStep, Null, Param<T>, Parameter<T>, ParamOrVariable<T>, QOM.Abs<T>, QOM.Acos, QOM.Acosh, QOM.Acoth, QOM.Add<T>, QOM.And, QOM.AnyValue<T>, QOM.Array<T>, QOM.ArrayAgg<T>, QOM.ArrayGet<T>, QOM.ArrayQuery<T>, QOM.Ascii, QOM.Asin, QOM.Asinh, QOM.Atan, QOM.Atan2, QOM.Atanh, QOM.Avg, QOM.BitAnd<T>, QOM.BitAndAgg<T>, QOM.BitCount, QOM.BitLength, QOM.BitNand<T>, QOM.BitNandAgg<T>, QOM.BitNor<T>, QOM.BitNorAgg<T>, QOM.BitNot<T>, QOM.BitOr<T>, QOM.BitOrAgg<T>, QOM.BitXNor<T>, QOM.BitXNorAgg<T>, QOM.BitXor<T>, QOM.BitXorAgg<T>, QOM.BoolAnd, QOM.BoolOr, QOM.Cardinality, QOM.Cast<T>, QOM.Ceil<T>, QOM.CharLength, QOM.Choose<T>, QOM.Chr, QOM.Coalesce<T>, QOM.Coerce<T>, QOM.Collated, QOM.Collect<T,A>, QOM.CombinedCondition, QOM.CompareCondition<T>, QOM.Concat, QOM.ConditionAsField, QOM.ConnectByIsCycle, QOM.ConnectByIsLeaf, QOM.ConnectByRoot<T>, QOM.Contains<T>, QOM.ContainsIgnoreCase<T>, QOM.Convert<T>, QOM.Corr, QOM.Cos, QOM.Cosh, QOM.Cot, QOM.Coth, QOM.Count, QOM.CountTable, QOM.CovarPop, QOM.CovarSamp, QOM.Cube, QOM.CumeDist, QOM.CurrentCatalog, QOM.CurrentDate<T>, QOM.CurrentSchema, QOM.CurrentTime<T>, QOM.CurrentTimestamp<T>, QOM.CurrentUser, QOM.DataChangeDeltaTable<R>, QOM.DateAdd<T>, QOM.Default<T>, QOM.Degrees, QOM.Deleting, QOM.DenseRank, QOM.DerivedTable<R>, QOM.Digits, QOM.Div<T>, QOM.Dual, QOM.EmptyGroupingSet, QOM.EndsWith<T>, QOM.EndsWithIgnoreCase<T>, QOM.Eq<T>, QOM.Euler, QOM.Excluded<T>, QOM.Exists, QOM.Exp, QOM.Extract, QOM.FieldAlias<T>, QOM.FieldCondition, QOM.FieldFunction<T>, QOM.FirstValue<T>, QOM.Floor<T>, QOM.Function<T>, QOM.Ge<T>, QOM.GenerateSeries<T>, QOM.Greatest<T>, QOM.GroupingSets, QOM.Gt<T>, QOM.Iif<T>, QOM.In<T>, QOM.InList<T>, QOM.Inserting, QOM.IsDistinctFrom<T>, QOM.IsDocument, QOM.IsJson, QOM.IsNotDistinctFrom<T>, QOM.IsNotDocument, QOM.IsNotJson, QOM.IsNotNull, QOM.IsNull, QOM.JSONArray<T>, QOM.JSONArrayAgg<J>, QOM.JSONObject<T>, QOM.JSONObjectAgg<J>, QOM.Lag<T>, QOM.LastValue<T>, QOM.Lateral<R>, QOM.Le<T>, QOM.Lead<T>, QOM.Least<T>, QOM.Left, QOM.Level, QOM.Like, QOM.LikeIgnoreCase, QOM.LinkedTable<R>, QOM.Ln, QOM.Log, QOM.Log10, QOM.Lower, QOM.Lpad, QOM.Lt<T>, QOM.Ltrim, QOM.Max<T>, QOM.Md5, QOM.Median, QOM.Min<T>, QOM.Mod<T>, QOM.Mode<T>, QOM.Mul<T>, QOM.Multiset<R>, QOM.MultisetAgg<R>, QOM.Ne<T>, QOM.Neg<T>, QOM.Not, QOM.NotField, QOM.NotIn<T>, QOM.NotInList<T>, QOM.NotLike, QOM.NotLikeIgnoreCase, QOM.NotSimilarTo, QOM.NthValue<T>, QOM.Ntile, QOM.Nullif<T>, QOM.Nvl<T>, QOM.Nvl2<T>, QOM.OctetLength, QOM.Or, QOM.Overlay, QOM.PercentRank, QOM.Pi, QOM.PlusJoin<T>, QOM.Position, QOM.Power, QOM.Prior<T>, QOM.Product, QOM.QualifiedRowid, QOM.Radians, QOM.Rand, QOM.Rank, QOM.RatioToReport, QOM.RegexpLike, QOM.RegrAvgX, QOM.RegrAvgY, QOM.RegrCount, QOM.RegrIntercept, QOM.RegrR2, QOM.RegrSlope, QOM.RegrSxx, QOM.RegrSxy, QOM.RegrSyy, QOM.Repeat, QOM.Replace, QOM.Reverse, QOM.Right, QOM.Rollup, QOM.Round<T>, QOM.RowAsField<R>, QOM.RowIsNotNull, QOM.RowIsNull, QOM.Rownum, QOM.RowNumber, QOM.RowOverlaps, QOM.RowsFrom, QOM.Rpad, QOM.Rtrim, QOM.ScalarSubquery<T>, QOM.SelectIsNotNull, QOM.SelectIsNull, QOM.Shl<T>, QOM.Shr<T>, QOM.Sign, QOM.SimilarTo, QOM.Sin, QOM.Sinh, QOM.Space, QOM.SplitPart, QOM.Sqrt, QOM.Square<T>, QOM.StArea, QOM.StartsWith<T>, QOM.StartsWithIgnoreCase<T>, QOM.StAsBinary, QOM.StAsText, QOM.StCentroid, QOM.StContains<T>, QOM.StCrosses, QOM.StddevPop, QOM.StddevSamp, QOM.StDifference<T>, QOM.StDisjoint<T>, QOM.StDistance<T>, QOM.StEndPoint<T>, QOM.StEquals<T>, QOM.StExteriorRing, QOM.StGeometryN<T>, QOM.StGeometryType, QOM.StGeomFromText, QOM.StGeomFromWKB, QOM.StInteriorRingN, QOM.StIntersection<T>, QOM.StIntersects<T>, QOM.StIsClosed, QOM.StIsEmpty, QOM.StLength, QOM.StNumGeometries, QOM.StNumInteriorRings, QOM.StNumPoints, QOM.StOverlaps<T>, QOM.StPointN<T>, QOM.StSrid, QOM.StStartPoint<T>, QOM.StTouches<T>, QOM.StUnion<T>, QOM.StWithin<T>, QOM.StX, QOM.StY, QOM.StZ, QOM.Sub<T>, QOM.Substring, QOM.SubstringIndex, QOM.Sum, QOM.SysConnectByPath, QOM.TableAlias<R>, QOM.TableAsField<R>, QOM.TableEq<R>, QOM.TableNe<R>, QOM.Tan, QOM.Tanh, QOM.Tau, QOM.TimestampDiff<T>, QOM.ToChar, QOM.ToDate, QOM.ToHex, QOM.ToTimestamp, QOM.Translate, QOM.Trim, QOM.Trunc<T>, QOM.Unique, QOM.Updating, QOM.Upper, QOM.Uuid, QOM.Values<R>, QOM.VarPop, QOM.VarSamp, QOM.WidthBucket<T>, QOM.WindowFunction<T>, QOM.XMLAgg, QOM.XMLComment, QOM.XMLConcat, QOM.XMLDocument, QOM.XMLElement, QOM.XMLExists, QOM.XMLForest, QOM.XMLParse, QOM.XMLPi, QOM.XMLQuery, QOM.XMLSerialize<T>, Table<R>, TableField<R,T>, TableOnConditionStep<R>, TableOptionalOnStep<R>, True, UDTField<R,T>, Variable<T>, WindowBeforeOverStep<T>, WindowExcludeStep<T>, WindowFinalStep<T>, WindowOrderByStep<T>, WindowPartitionByStep<T>, WindowRowsStep<T>, XMLAggOrderByStep<T>, XMLTableColumnPathStep, XMLTableColumnsStep
All Known Implementing Classes:
CustomCondition, CustomField, CustomTable, TableImpl

public sealed interface GroupField extends QueryPart permits Table<R>, Field<T>, QOM.EmptyGroupingSet, QOM.Rollup, QOM.Cube, QOM.GroupingSets
An expression to be used exclusively in GROUP BY clauses.

The SELECT … GROUP BY clause accepts a variety of expressions, mostly ordinary Field expressions, but also some special expressions usable only in the GROUP BY clause, such as DSL.groupingSets(Field[][]).

Example:


 // Assuming import static org.jooq.impl.DSL.*;

 using(configuration)
    .select(ACTOR.LAST_NAME)
    .from(ACTOR)
    .groupBy(ACTOR.LAST_NAME) // GroupField reference here
    .fetch();
 

Instances can be created using DSL.groupingSets(Field[][]) and related methods, or by creating a subtype.

Author:
Lukas Eder