データ解析において、パーセンタイル計算は極めて重要な作業の一つです。SQLでは、この計算を簡単かつ効率的に行うための関数が提供されています。特に`PERCENTILE_CONT`と`PERCENTILE_DISC`関数は頻繁に用いられる便利なツールです。この記事では、これら二つの関数の具体的な使用方法を解説します。
目次
PERCENTILE_CONT関数の概要
PERCENTILE_CONT関数は、連続的なパーセンタイル値を計算するための関数です。つまり、この関数はデータ間の補完を行い、指定したパーセンタイルに最も近い値を返します。
基本的な構文
SELECT PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY カラム名) FROM テーブル名;
使用例
考え方を具体的に理解するために、以下のテーブルを例にとります。
社員ID | 給与 |
---|---|
1 | 250000 |
2 | 200000 |
3 | 220000 |
このテーブルに基づいて中央値(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 | なし | 実際の値 |
まとめ
この記事では、SQLでよく使用されるPERCENTILE_CONTとPERCENTILE_DISC関数について詳細に説明しました。これらの関数はデータ解析において非常に有用で、特にパーセンタイル計算においてその能力を発揮します。選ぶ関数によって計算結果が大きく変わる可能性があるため、目的に応じて適切な関数を選びましょう。
created by Rinker
¥4,554
(2024/11/11 10:35:09時点 Amazon調べ-詳細)
コメント