postgres sql within group - ghdrako/doc_snipets GitHub Wiki
Od postgres 9.4
Klauzula WITHIN
group to nowa klauzula dla agregatów przy użyciu funkcji, których dane muszą być sortowane. Niektóre funkcje zostały dodane, aby w pełni wykorzystać tę nową klauzulę.
SELECT continent,
percentile_disc(0.5) WITHIN GROUP (ORDER BY population) AS "mediane",
percentile_disc(0.95) WITHIN GROUP (ORDER BY population) AS "95pct",
ROUND(AVG(population), 1) AS moyenne
FROM population
GROUP BY continent;
W tym przykładzie pokazano kontynent, medianę populacji na kontynencie oraz populację kraju o najmniejszej populacji wśród 5% krajów o największej populacji na każdym kontynencie.
Dodając obsługę tej klauzuli, PostgreSQL poprawia obsługę standardu SQL 2008 i pozwala na opracowywanie bardziej zaawansowanych analiz statystycznych.