PostgreSQL 中央値を取得する

PostgreSQL 中央値を取得する

PostgreSQLで、中央値を取得する手順を記述してます。

環境

  • OS Rocky Linux release 8.4 (Green Obsidian)
  • PostgreSQL 14.0
  • pgadmin 6.0

中央値を取得

中央値を取得したい場合は、「PERCENTILE_CONT」を使用します。

select PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY カラム名) from テーブル名

実際に、以下のテーブルで「PERCENTILE_CONT」を使用して、中央値を取得してみます。

以下のクエリを実行してみます。

select PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY age) from testTable

実行結果

中央値が取得されていることが確認できます。

奇数だと中央の値が取得されますが、偶数の場合は、中央の2つの値の平均が取得されます。

以下のテーブルから、同様のクエリを実行してみます。

実行してみます。

select PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY age) from testTable

実行結果

「30」と「40」の平均値である「35」が取得されていることが確認できます。