public interface OrderedAggregateFunctionOfDeferredType
An ordered-set aggregate function is an aggregate function with a mandatory
Oracle-specific WITHIN GROUP (ORDER BY ..)
clause. An example is
LISTAGG
:
The above function groups books by author and aggregates titles
into a concatenated string.
SELECT LISTAGG(TITLE, ', ')
WITHIN GROUP (ORDER BY TITLE)
FROM T_BOOK
GROUP BY AUTHOR_ID
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
Modifier and Type | Method and Description |
---|---|
<T> AggregateFilterStep<T> |
withinGroupOrderBy(Field<T> field)
Add an
WITHIN GROUP (ORDER BY ..) |
<T> AggregateFilterStep<T> |
withinGroupOrderBy(SortField<T> field)
Add an
WITHIN GROUP (ORDER BY ..) |
@Support(value=POSTGRES_9_4) <T> AggregateFilterStep<T> withinGroupOrderBy(Field<T> field)
WITHIN GROUP (ORDER BY ..)
clause to the ordered
aggregate function@Support(value=POSTGRES_9_4) <T> AggregateFilterStep<T> withinGroupOrderBy(SortField<T> field)
WITHIN GROUP (ORDER BY ..)
clause to the ordered
aggregate functionCopyright © 2017. All Rights Reserved.