全部產品
Search
文件中心

AnalyticDB:近似函數

更新時間:Aug 17, 2024

處理大規模資料時,近似函數可以在保證合理準確度的情況下快速返回計算結果,提高資料處理效率。本文介紹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。

  • 樣本:

    查詢testage列中不重複值的近似個數。

    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                         |
    +------------------------------+