1

SQL四分位関数をコーディングする簡単な方法はありますか?

リストがあるとしましょう - テーブル内の列の値 (0,0,0,1,1,4,5,7,8,25,100,100,101,260,360,370}

結果セットa-laを生成する良い方法は何ですか:

select 'Q1', quartile(1,col_name) from table_name
union
select 'Q2', quartile(2,col_name) from table_name
union
select 'Q3', quartile(3,col_name) from table_name
union
select 'Q4', quartile(4,col_name) from table_name
;

これまでのところ、この点で使用できるものは見つかりませんでした。

4

1 に答える 1

3

Q4 が必要な理由がわかりません :) そのために percentile_cont() 関数を使用する必要はありません。max() を使用して取得できます。

このコードはあなたを助けるかもしれません。

select      'q1' as q
            , percentile_cont(0.25) within group (order by col) as q_val
from        table
union
select      'q2' as q
            , percentile_cont(0.5) within group (order by col) as q_val
from        table
union
select      'q3' as q
            , percentile_cont(0.75) within group (order by col) as q_val
from        table;
于 2016-06-10T10:39:48.833 に答える