public interface OrderedAggregateFunction<T>
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 |
---|---|
AggregateFilterStep<T> |
withinGroupOrderBy(java.util.Collection<? extends OrderField<?>> fields)
Add an
WITHIN GROUP (ORDER BY ..) |
AggregateFilterStep<T> |
withinGroupOrderBy(OrderField<?>... fields)
Add an
WITHIN GROUP (ORDER BY ..) |
Copyright © 2018. All Rights Reserved.