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.ArrayAppend<T>, QOM.ArrayConcat<T>, QOM.ArrayGet<T>, QOM.ArrayOverlap<T>, QOM.ArrayPrepend<T>, QOM.ArrayQuery<T>, QOM.ArrayRemove<T>, QOM.ArrayReplace<T>, QOM.Ascii, QOM.Asin, QOM.Asinh, QOM.Atan, QOM.Atan2, QOM.Atanh, QOM.Avg, QOM.Between<T>, QOM.BitAnd<T>, QOM.BitAndAgg<T>, QOM.BitCount, QOM.BitGet<T>, QOM.BitLength, QOM.BitNand<T>, QOM.BitNandAgg<T>, QOM.BitNor<T>, QOM.BitNorAgg<T>, QOM.BitNot<T>, QOM.BitOr<T>, QOM.BitOrAgg<T>, QOM.BitSet<T>, QOM.BitXNor<T>, QOM.BitXNorAgg<T>, QOM.BitXor<T>, QOM.BitXorAgg<T>, QOM.BoolAnd, QOM.BoolOr, QOM.Cardinality, QOM.CaseSearched<T>, QOM.CaseSimple<V,T>, 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<R>, QOM.CompareCondition<T,R>, 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.CrossApply<R>, QOM.CrossJoin<R>, 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.Decode<V,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.EqQuantified<T>, QOM.Euler, QOM.Excluded<T>, QOM.Exists, QOM.Exp, QOM.Extract, QOM.False, QOM.FieldAlias<T>, QOM.FieldCondition, QOM.FieldFunction<T>, QOM.FirstValue<T>, QOM.Floor<T>, QOM.FullJoin<R>, QOM.Function<T>, QOM.Ge<T>, QOM.GenerateSeries<T>, QOM.GeQuantified<T>, QOM.Greatest<T>, QOM.GroupingSets, QOM.Gt<T>, QOM.GtQuantified<T>, QOM.HintedTable<R>, 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.Join<R>, QOM.JoinTable<R,J>, QOM.JSONArray<T>, QOM.JSONArrayAgg<J>, QOM.JSONBGetAttribute, QOM.JSONBGetAttributeAsText, QOM.JSONBGetElement, QOM.JSONBGetElementAsText, QOM.JSONBInsert, QOM.JSONBKeys, QOM.JSONBRemove, QOM.JSONBReplace, QOM.JSONBSet, QOM.JSONGetAttribute, QOM.JSONGetAttributeAsText, QOM.JSONGetElement, QOM.JSONGetElementAsText, QOM.JSONInsert, QOM.JSONKeys, QOM.JSONObject<T>, QOM.JSONObjectAgg<J>, QOM.JSONRemove, QOM.JSONReplace, QOM.JSONSet, QOM.Lag<T>, QOM.LastValue<T>, QOM.Lateral<R>, QOM.Le<T>, QOM.Lead<T>, QOM.Least<T>, QOM.Left, QOM.LeftAntiJoin<R>, QOM.LeftJoin<R>, QOM.LeftSemiJoin<R>, QOM.LeQuantified<T>, QOM.Level, QOM.Like, QOM.LikeIgnoreCase, QOM.LikeQuantified, QOM.LinkedTable<R>, QOM.Ln, QOM.Log, QOM.Log10, QOM.Lower, QOM.Lpad, QOM.Lt<T>, QOM.LtQuantified<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.NaturalFullJoin<R>, QOM.NaturalJoin<R>, QOM.NaturalLeftJoin<R>, QOM.NaturalRightJoin<R>, QOM.Ne<T>, QOM.Neg<T>, QOM.NeQuantified<T>, QOM.Not, QOM.NotField, QOM.NotIn<T>, QOM.NotInList<T>, QOM.NotLike, QOM.NotLikeIgnoreCase, QOM.NotLikeQuantified, QOM.NotSimilarTo, QOM.NotSimilarToQuantified, QOM.NthValue<T>, QOM.Ntile, QOM.Null, QOM.Nullif<T>, QOM.Nvl<T>, QOM.Nvl2<T>, QOM.OctetLength, QOM.Or, QOM.OuterApply<R>, QOM.Overlay, QOM.PercentRank, QOM.Pi, QOM.PlusJoin<T>, QOM.Position, QOM.Power, QOM.Prior<T>, QOM.Product, QOM.QualifiedJoin<R,J>, 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.RightJoin<R>, QOM.Rollup, QOM.Round<T>, QOM.RowAsField<R>, QOM.RowEq<T>, QOM.RowGe<T>, QOM.RowGt<T>, QOM.RowIsNotNull, QOM.RowIsNull, QOM.RowLe<T>, QOM.RowLt<T>, QOM.RowNe<T>, 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.SimilarToQuantified, 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.StraightJoin<R>, 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.True, QOM.Trunc<T>, QOM.TryCast<T>, QOM.Unique, QOM.Updating, QOM.Upper, QOM.Uuid, QOM.Values<R>, QOM.VarPop, QOM.VarSamp, QOM.WidthBucket<T>, QOM.WindowFunction<T>, QOM.WithOrdinalityTable<R>, QOM.WithTable<R>, QOM.XMLAgg, QOM.XMLComment, QOM.XMLConcat, QOM.XMLDocument, QOM.XMLElement, QOM.XMLExists, QOM.XMLForest, QOM.XMLParse, QOM.XMLPi, QOM.XMLQuery, QOM.XMLSerialize<T>, QOM.Xor, Table<R>, TableField<R,T>, TableOnConditionStep<R>, TableOptionalOnStep<R>, True, UDTField<R,T>, UDTPathField<R,U,T>, UDTPathTableField<R,U,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, UDTPathFieldImpl, UDTPathTableFieldImpl

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