Interface OrderedAggregateFunction<T>

All Known Subinterfaces:
OptionallyOrderedAggregateFunction<T>

public interface OrderedAggregateFunction<T>
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