中央値を求める方法【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とは
ソート項目でソートした結果から、指定されたパーセント値の行の値を返します。
指定されたパーセント値が行と行の間に位置する場合、前後の行の平均値を返します。