大量のデータが含まれるシナリオでは、近似関数を使用して計算結果をすばやく返し、正確性を確保し、データ処理効率を向上させることができます。 このトピックでは、AnalyticDB for MySQLでサポートされているおおよその関数について説明します。
APPROX_DISTINCT: 特定の列の異なる値のおおよその数を返します。
APPROX_PERCENTILE: 特定の列のおおよそのパーセンタイルを特定の割合で返します。 列の値は昇順でソートされます。
APPROX_DISTINCT
APPROX_DISTINCT(column, [standard_error]);
説明: この関数は、特定の列の個別の値のおおよその数を返します。
standard_error
パラメーターは、標準エラーを指定します。 このパラメーターはオプションです。 デフォルト値: 0.023 有効な値: 0.0040625〜0.26000。standard_error
パラメーターの値は変更しないことを推奨します。戻り値のデータ型: BIGINT。
例:
test
テーブルのage
列にある個別の値のおおよその数を照会します。SELECT approx_distinct(age) from test;
サンプル結果:
+-----------------------+ | approx_distinct(age) | +-----------------------+ | 4 | +-----------------------+
説明APPROX_DISTINCT関数の戻り値はおおよその値です。 この例はあくまで参考用です。
APPROX_PERCENTILE
APPROX_PERCENTILE(column, percentage);
説明: この関数は、特定の列のおおよそのパーセンタイルを特定の割合で返します。 列の値は昇順でソートされます。 パーセントパラメータは、パーセントを指定する。 有効な値は 0~1 です。 percentageパラメーターを1に設定すると、列の最大値が返されます。
戻り値のデータ型: BIGINT。
例:
テストテーブルの年齢列のおおよそのパーセンタイルを0.4の割合で照会します。
SELECT APPROX_PERCENTILE(age, 0.4) FROM test;
サンプル結果:
+------------------------------+ | APPROX_PERCENTILE(age, 0.4) | +------------------------------+ | 20 | +------------------------------+