处理大规模数据时,近似函数可以在保证合理准确度的情况下快速返回计算结果,提高数据处理效率。本文介绍云原生数据仓库 AnalyticDB 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);
命令说明:返回指定列中从小到大排序,位于指定百分比(近似)的结果,该函数不会对指定列中重复值进行去重。percentage为指定的百分比,取值范围[0,1],例如指定percentage为1时,会返回该列中最大的值。
返回值类型:BIGINT。
示例:
查询
SELECT APPROX_PERCENTILE(age, 0.4) FROM test;
返回结果如下:
+------------------------------+ | APPROX_PERCENTILE(age, 0.4) | +------------------------------+ | 20 | +------------------------------+
文档内容是否对您有帮助?