Lukas Eder points out that there are two ways to use PERCENTILE_DISC()
and most database platforms support only one:
Oracle has the most sophisticated implementation, which supports both the ordered set aggregate function, and the window function version:
– Aggregate function:PERCENTILE_DISC (0.5) WITHIN GROUP (ORDER BY x)
– Window function:PERCENTILE_DISC (0.5) WITHIN GROUP (ORDER BY x) OVER (PARTITION BY y)
But there are ways to calculate PERCENTILE_DISC()
using a couple of window functions, so read the whole thing.