中央値を求める方法【PostgreSQL】

PostgreSQLその他

中央値を取得する構文

中央値を取得する構文を紹介します。

--中央値を取得する
--※使用する時は、「列名」と「テーブル名」を変更して下さい
SELECT PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY 列名) FROM テーブル名;

テーブルにあるデータが奇数個の時は、中央値のデータを取得し、

偶数個の時は、中央の二つの値の平均を中央値とします。

 

例:

テーブルのデータ数が奇数個(1,2,3,4,5)の時: 中央値 = 3

テーブルのデータ数が奇数個(1,2,3,4)の時 : 中央値 = (2+3) ÷ 2 = 2.5

 

補足

・パーセンタイルとは

簡単に言うと100個の測定値を値の順に並べて、

小さい方から90番目の値を「90パーセンタイル」あるいは「90%ile」と表現する。

中央値=50パーセンタイル。

 

・ PERCENTILE_CONTとは

ソート項目でソートした結果から、指定されたパーセント値の行の値を返します。

指定されたパーセント値が行と行の間に位置する場合、前後の行の平均値を返します。