- All Superinterfaces:
AggregateFilterStep<BigDecimal>,AggregateFunction<BigDecimal>,Field<BigDecimal>,FieldOrConstraint,FieldOrRow,FieldOrRowOrSelect,GroupField,Named,OrderField<BigDecimal>,QueryPart,SelectField<BigDecimal>,SelectFieldOrAsterisk,Serializable,TableElement,Typed<BigDecimal>,WindowBeforeOverStep<BigDecimal>,WindowOverStep<BigDecimal>
- Enclosing class:
- QOM
The
PRODUCT function.
Get the sum over a numeric field: product(distinct field).
Few dialects currently support multiplicative aggregation natively. jOOQ
emulates this using exp(sum(log(arg))) for strictly positive
numbers, and does some additional handling for zero and negative numbers.
Note that this implementation may introduce rounding errors, even for integer multiplication.
More information here: https://blog.jooq.org/how-to-write-a-multiplication-aggregate-function-in-sql.
-
Method Summary
Modifier and TypeMethodDescriptionboolean@NotNull QOM.Product$distinct(boolean distinct) $field()@NotNull QOM.ProductMethods inherited from interface org.jooq.AggregateFilterStep
filterWhere, filterWhere, filterWhere, filterWhere, filterWhere, filterWhere, filterWhere, filterWhereMethods inherited from interface org.jooq.AggregateFunction
$filterWhere, keepDenseRankFirstOrderBy, keepDenseRankFirstOrderBy, keepDenseRankLastOrderBy, keepDenseRankLastOrderByMethods inherited from interface org.jooq.Field
abs, acos, add, add, as, as, as, as, asc, ascii, asin, atan, atan2, atan2, avg, avgOver, between, between, between, between, betweenSymmetric, betweenSymmetric, betweenSymmetric, betweenSymmetric, bitAnd, bitAnd, bitLength, bitNand, bitNand, bitNor, bitNor, bitNot, bitOr, bitOr, bitXNor, bitXNor, bitXor, bitXor, cast, cast, cast, ceil, changed, charLength, coalesce, coalesce, coerce, coerce, coerce, collate, collate, collate, compare, compare, compare, compare, concat, concat, concat, contains, contains, containsIgnoreCase, containsIgnoreCase, convert, convert, convert, convertFrom, convertFrom, convertTo, convertTo, cos, cosh, cot, coth, count, countDistinct, countOver, decode, decode, decode, decode, deg, desc, div, div, divide, divide, endsWith, endsWith, endsWithIgnoreCase, endsWithIgnoreCase, eq, eq, eq, eq, equal, equal, equal, equal, equalIgnoreCase, equalIgnoreCase, equals, exp, extract, field, firstValue, floor, from, ge, ge, ge, ge, get, getComment, getName, getValue, greaterOrEqual, greaterOrEqual, greaterOrEqual, greaterOrEqual, greaterThan, greaterThan, greaterThan, greaterThan, greatest, greatest, gt, gt, gt, gt, in, in, in, in, in, isDistinctFrom, isDistinctFrom, isDistinctFrom, isDocument, isFalse, isJson, isNotDistinctFrom, isNotDistinctFrom, isNotDistinctFrom, isNotDocument, isNotJson, isNotNull, isNull, isTrue, lag, lag, lag, lag, lastValue, le, le, le, le, lead, lead, lead, lead, least, least, length, lessOrEqual, lessOrEqual, lessOrEqual, lessOrEqual, lessThan, lessThan, lessThan, lessThan, like, like, like, like, like, likeIgnoreCase, likeIgnoreCase, likeIgnoreCase, likeIgnoreCase, likeRegex, likeRegex, ln, log, lower, lpad, lpad, lpad, lpad, lt, lt, lt, lt, ltrim, max, maxOver, median, min, minOver, minus, minus, mod, mod, modulo, modulo, mul, mul, multiply, multiply, ne, ne, ne, ne, neg, notBetween, notBetween, notBetween, notBetween, notBetweenSymmetric, notBetweenSymmetric, notBetweenSymmetric, notBetweenSymmetric, notContains, notContains, notContainsIgnoreCase, notContainsIgnoreCase, notEqual, notEqual, notEqual, notEqual, notEqualIgnoreCase, notEqualIgnoreCase, notIn, notIn, notIn, notIn, notIn, notLike, notLike, notLike, notLike, notLike, notLikeIgnoreCase, notLikeIgnoreCase, notLikeIgnoreCase, notLikeIgnoreCase, notLikeRegex, notLikeRegex, notSimilarTo, notSimilarTo, notSimilarTo, notSimilarTo, nullif, nullif, nvl, nvl, nvl2, nvl2, octetLength, original, plus, plus, plus, position, position, pow, pow, power, power, rad, rem, rem, repeat, repeat, replace, replace, replace, replace, reset, round, round, rpad, rpad, rpad, rpad, rtrim, shl, shl, shr, shr, sign, similarTo, similarTo, similarTo, similarTo, sin, sinh, sort, sort, sortAsc, sortAsc, sortDefault, sortDesc, sortDesc, sqrt, startsWith, startsWith, startsWithIgnoreCase, startsWithIgnoreCase, stddevPop, stddevPopOver, stddevSamp, stddevSampOver, sub, sub, substring, substring, substring, substring, subtract, subtract, sum, sumOver, tan, tanh, times, times, trim, unaryMinus, unaryPlus, upper, varPop, varPopOver, varSamp, varSampOverMethods inherited from interface org.jooq.Named
$name, getCommentPart, getQualifiedName, getUnqualifiedNameMethods inherited from interface org.jooq.QueryPart
$replace, $replace, $traverse, $traverse, hashCode, toStringMethods inherited from interface org.jooq.Typed
$dataType, getBinding, getConverter, getDataType, getDataType, getType
-
Method Details
-
$field
-
$distinct
boolean $distinct() -
$field
-
$distinct
-