Chcę znaleźć n> 1 percentyle nieposortowanej kolumny w PostgreSQL. Na przykład 20, 40, 60, 80 i 100 percentyl.
Oczywistym rozwiązaniem jest policzyć i posortować kolumnę, a następnie rzucić okiem, ale mam nadzieję na lepsze rozwiązanie. Jakieś pomysły?
PS Znalazłem dobre rozwiązanie dla MySQL, ale nie mogę go przetłumaczyć na psql
postgresql
statistics
Bob Jansen
źródło
źródło
Odpowiedzi:
Wymyśliłem następujące rzeczy:
Wybiera maksimum każdej grupy, która jest dzielona za pomocą
ntile()
.źródło