2016-11-25 5 views
0

Verticaのpercentile_cont()の集計関数が必要です。ただし、このデータベースでは分析機能のみが使用可能です。Verticaの集計関数としてpercentile_contを作成

ストアドプロシージャなどで作成することはできますか?これを構築するためのアドバイスと手順を本当に感謝します。

理想的には、linkに示すように、オラクルの集計percentile_cont()と同じように機能するはずです。

ありがとうございます。

答えて

0

withを表示したり、インラインで表示したい場合は、解析機能を使用することができます。グループ化がパーティションと同じである限り、pc_valueはそのグループレベルで常に同じになります(グループ化すると安全です)。

select g1, g2, pc_value, sum(value) sum_value 
from ( 
    select g1, g2, value, PERCENTILE_CONT(.5) WITHIN GROUP(ORDER BY value) 
    OVER (PARTITION BY g1, g2) 
) x 
group by g1, g2, pc_value 

「あなたはUDXを(おそらく二つのパラメータを持つ関数を作成したいので、それは、なぜなら言語構造の、まさにこのように見えませんが)を作成しようとすることができます...しかし、私は本当にドンそれがうまくいくと思うし、これはあまりにも読めないほどではない。