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
| Modifier and Type | Method and Description |
|---|---|
| public <T> @NotNull AggregateFilterStep | withinGroupOrderBy(OrderField<T> field)
Deprecated
as a consequence of
Add an AggregateFilterStep being deprecated.
WITHIN GROUP (ORDER BY …) clause to the ordered
aggregate function
|
| withinGroupOrderBy | back to summary |
|---|---|
| public <T> @NotNull AggregateFilterStep Deprecated as a consequence of Add an
| |