SQLにおけるPERCENTILE_CONTとPERCENTILE_DISC関数の詳細な使用例

データ解析において、パーセンタイル計算は極めて重要な作業の一つです。SQLでは、この計算を簡単かつ効率的に行うための関数が提供されています。特に`PERCENTILE_CONT`と`PERCENTILE_DISC`関数は頻繁に用いられる便利なツールです。この記事では、これら二つの関数の具体的な使用方法を解説します。

目次

PERCENTILE_CONT関数の概要

PERCENTILE_CONT関数は、連続的なパーセンタイル値を計算するための関数です。つまり、この関数はデータ間の補完を行い、指定したパーセンタイルに最も近い値を返します。

基本的な構文

SELECT PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY カラム名) FROM テーブル名;

使用例

考え方を具体的に理解するために、以下のテーブルを例にとります。

社員ID給与
1250000
2200000
3220000
テーブル名称1: 社員の給与データ

このテーブルに基づいて中央値(50パーセンタイル)を求めるSQLクエリは以下の通りです。

SELECT PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY 給与) FROM 社員;

PERCENTILE_DISC関数の概要

PERCENTILE_DISCは、不連続なパーセンタイル値を計算するための関数です。データセット内の実際の値をそのまま返します。

基本的な構文

SELECT PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY カラム名) FROM テーブル名;

使用例

先ほどの社員の給与データテーブルを用いて、中央値(50パーセンタイル)を求めるSQLクエリは以下の通りです。

SELECT PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY 給与) FROM 社員;

PERCENTILE_CONTとPERCENTILE_DISCの違い

これら二つの関数の主な違いは、補完をするかしないかです。PERCENTILE_CONTは補完を行い、PERCENTILE_DISCはデータセットの実際の値をそのまま返します。

関数補完返り値
PERCENTILE_CONTあり近似値
PERCENTILE_DISCなし実際の値
テーブル名称2: 関数の違い

まとめ

この記事では、SQLでよく使用されるPERCENTILE_CONTとPERCENTILE_DISC関数について詳細に説明しました。これらの関数はデータ解析において非常に有用で、特にパーセンタイル計算においてその能力を発揮します。選ぶ関数によって計算結果が大きく変わる可能性があるため、目的に応じて適切な関数を選びましょう。

コメント

コメントする

目次