説明
この関数は、指定された列の正確なパーセンタイルを計算します。この関数は入力列を昇順にソートし、指定されたパーセンタイル値(percentile)に基づいて対応する補間結果を返します。
説明
OceanBaseデータベースV4.3.5では、この関数はV4.3.5 BP1バージョンからサポートされています。
使用制限
現在のバージョンのPERCENTILE_CONTはDATETIME型をサポートしていません。
構文宣言
PERCENTILE_CONT(expr, percentile)
パラメータの説明
expr:パーセンタイルを計算する対象の列。現在は数値型である必要があります。具体的にサポートされている型についてはサポートされている型を参照してください。説明
PERCENTILE_CONTは、入力列内のNULL値を自動的に無視します。percentile:指定されたパーセンタイル値。これは、データ分布における目標値の位置を示します。値の範囲は[0, 1]の浮動小数点定数です。
サポートされている型
- 整数型:
TINYINT、SMALLINT、MEDIUMINT、INT/INTEGER、BIGINT。 - 固定小数点型:
DECIMALとNUMERIC。 - 浮動小数点型:
FLOATとDOUBLE。 - Bit-Value型:
BIT。
戻り値の型
戻り値の型はexprと一致します。
指定されたパーセンタイルにある値を返します。入力値のうち、必要なパーセンタイルに正確に一致する値がない場合は、最も近い2つの入力値の線形補間を使用して結果を計算します。
例
列
col1とcol2を含むテストテーブルtest_tbl1を作成します。CREATE TABLE test_tbl1(col1 VARCHAR(10), col2 INT);テーブル
test_tbl1にテストデータを挿入します。INSERT INTO test_tbl1 VALUES ('A1', 80), ('A1', 100), ('A1', NULL), ('B1', 60), ('B1', 70), ('B1', 85), ('C1', 75), ('C1', 80), ('C1', 85), ('C1', 99);PERCENTILE_CONTを使用して、列col1の各カテゴリの中央値(すなわち第50パーセンタイル)を計算します。SELECT col1, PERCENTILE_CONT(col2, 0.5) FROM test_tbl1 GROUP BY col1;実行結果は次のとおりです:
+------+----------------------------+ | col1 | PERCENTILE_CONT(col2, 0.5) | +------+----------------------------+ | A1 | 90 | | B1 | 70 | | C1 | 82.5 | +------+----------------------------+ 3 rows in set