Interface QOM.Product
- All Superinterfaces:
AggregateFilterStep<BigDecimal>, AggregateFunction<BigDecimal>, Field<BigDecimal>, FieldOrConstraint, FieldOrRow, FieldOrRowOrSelect, GroupField, Named, OrderField<BigDecimal>, QOM.AggregateFunction<BigDecimal, QOM.Product>, QOM.WindowFunction<BigDecimal, QOM.Product>, 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.
- Author:
- Lukas Eder
-
Method Summary
Modifier and TypeMethodDescriptionboolean@NotNull QOM.Product$distinct(boolean distinct) $field()@NotNull QOM.ProductMethods inherited from interface AggregateFilterStep
filterWhere, filterWhere, filterWhere, filterWhere, filterWhere, filterWhere, filterWhere, filterWhereMethods inherited from interface AggregateFunction
keepDenseRankFirstOrderBy, keepDenseRankFirstOrderBy, keepDenseRankLastOrderBy, keepDenseRankLastOrderByMethods inherited from interface Field
add, add, as, as, as, as, asc, ascii, between, between, between, between, betweenSymmetric, betweenSymmetric, betweenSymmetric, betweenSymmetric, binaryLike, binaryLike, binaryLike, bitAnd, bitAnd, bitLength, bitNand, bitNand, bitNor, bitNor, bitNot, bitOr, bitOr, bitXNor, bitXNor, bitXor, bitXor, cast, cast, cast, changed, charLength, coalesce, coalesce, coerce, coerce, coerce, collate, collate, collate, comment, comment, compare, compare, compare, compare, concat, concat, concat, contains, contains, containsIgnoreCase, containsIgnoreCase, convert, convert, convert, convertFrom, convertFrom, convertTo, convertTo, decode, decode, decode, decode, desc, div, div, divide, divide, endsWith, endsWith, endsWithIgnoreCase, endsWithIgnoreCase, eq, eq, eq, eq, equal, equal, equal, equal, equalIgnoreCase, equalIgnoreCase, equals, field, from, ge, ge, ge, ge, get, getComment, getName, getValue, greaterOrEqual, greaterOrEqual, greaterOrEqual, greaterOrEqual, greaterThan, greaterThan, greaterThan, greaterThan, gt, gt, gt, gt, in, in, in, in, in, isDistinctFrom, isDistinctFrom, isDistinctFrom, isDocument, isFalse, isJson, isNotDistinctFrom, isNotDistinctFrom, isNotDistinctFrom, isNotDocument, isNotJson, isNotNull, isNull, isTrue, le, le, le, le, length, lessOrEqual, lessOrEqual, lessOrEqual, lessOrEqual, lessThan, lessThan, lessThan, lessThan, like, like, like, like, like, likeIgnoreCase, likeIgnoreCase, likeIgnoreCase, likeIgnoreCase, likeRegex, likeRegex, lower, lpad, lpad, lpad, lpad, lt, lt, lt, lt, ltrim, minus, minus, mod, mod, modulo, modulo, mul, mul, multiply, multiply, ne, ne, ne, ne, neg, notBetween, notBetween, notBetween, notBetween, notBetweenSymmetric, notBetweenSymmetric, notBetweenSymmetric, notBetweenSymmetric, notBinaryLike, notBinaryLike, notBinaryLike, 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, notSimilarTo, nullif, nullif, nullsFirst, nullsLast, nvl, nvl, nvl2, nvl2, octetLength, original, plus, plus, plus, position, position, pow, pow, power, power, rem, rem, repeat, repeat, replace, replace, replace, replace, reset, rpad, rpad, rpad, rpad, rtrim, shl, shl, shr, shr, similarTo, similarTo, similarTo, similarTo, similarTo, sort, sort, sortAsc, sortAsc, sortDefault, sortDesc, sortDesc, startsWith, startsWith, startsWithIgnoreCase, startsWithIgnoreCase, sub, sub, substring, substring, substring, substring, subtract, subtract, times, times, touched, trim, unaryMinus, unaryPlus, upperMethods inherited from interface Named
$name, getCommentPart, getQualifiedName, getUnqualifiedNameMethods inherited from interface QOM.AggregateFunction
$filterWhere, $filterWhereMethods inherited from interface QOM.WindowFunction
$windowDefinition, $windowDefinition, $windowName, $windowName, $windowSpecification, $windowSpecificationMethods inherited from interface QueryPart
$replace, $replace, $traverse, $traverse, hashCode, toStringMethods inherited from interface Typed
$dataType, getBinding, getConverter, getDataType, getDataType, getType
-
Method Details
-
$field
-
$distinct
boolean $distinct() -
$field
-
$distinct
-