Module org.jooq
Package org.jooq

Interface OrderedAggregateFunctionOfDeferredType


public interface OrderedAggregateFunctionOfDeferredType
An ordered-set aggregate function.

An ordered-set aggregate function is an aggregate function with a mandatory Oracle-specific WITHIN GROUP (ORDER BY ..) clause. An example is LISTAGG:

 SELECT   LISTAGG(TITLE, ', ')
          WITHIN GROUP (ORDER BY TITLE)
 FROM     T_BOOK
 GROUP BY AUTHOR_ID
 
The above function groups books by author and aggregates titles into a concatenated string.

Ordered-set aggregate functions can be further converted into window functions using the OVER(PARTITION BY ..) clause. For example:

 SELECT LISTAGG(TITLE, ', ')
        WITHIN GROUP (ORDER BY TITLE)
        OVER (PARTITION BY AUTHOR_ID)
 FROM   T_BOOK
 
Author:
Lukas Eder
  • Method Summary

    Modifier and Type
    Method
    Description
    <T> @NotNull AggregateFilterStep<T>
    Add an WITHIN GROUP (ORDER BY ..) clause to the ordered aggregate function