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.