PostgreSQLでソートされていない列のn> 1パーセンタイルを見つけたいのですが。たとえば、20、40、60、80、100パーセンタイル。
明白な解決策は、列を数えて並べ替えてから調べますが、もっと良い解決策を期待しています。何か案は?
追伸MySQLに適切な solution を見つけましたが、psqlに変換できません
私は次のことを考え出しました:
_select cume, max(var) AS max_var
from (
select var
, ntile(5) over (order by var) as cume
from table
) as tmp
group by cume
order by cume;
_
ntile()
を使用して分割された各グループの最大値を選択します。