数据仓库服务 GaussDB(DWS)-聚合函数:hll_add_agg(hll_hashval)

时间:2025-02-12 15:05:10

hll_add_agg(hll_hashval)

描述:把哈希后的数据按照分组放到hll中。

返回值类型:hll

示例:

  1. 准备数据。
    1234
    CREATE TABLE t_id(id int);INSERT INTO t_id VALUES(generate_series(1,500));CREATE TABLE t_data(a int, c text);INSERT INTO t_data SELECT mod(id,2), id FROM t_id;
  2. 创建表并指定列为hll。
    1
    CREATE TABLE t_a_c_hll(a int, c hll);
  3. 根据a列group by对数据分组,把各组数据加到hll中。
    1
    INSERT INTO t_a_c_hll SELECT a, hll_add_agg(hll_hash_text(c)) FROM t_data GROUP BY a;
  4. 得到每组数据中hll的Distinct值。
    123456
    SELECT a, #c as cardinality FROM t_a_c_hll order by a; a |   cardinality    ---+------------------ 0 | 250.741759091658 1 | 250.741759091658(2 rows)
support.huaweicloud.com/sqlreference-dws/dws_06_0329.html