全部产品

聚合函数

更新时间:2019-06-03 15:24:41

  • AVG:该函数用于计算平均值。
  • BIT_AND:返回参数所有位按位AND后的结果。
  • BIT_OR:返回参数所有位按位OR后的结果。
  • BIT_XOR:返回参数所有位按位异或后的结果。
  • COUNT:该函数用于计算记录数。
  • MAX:该函数用于计算最大值。
  • MIN:该函数用于计算最小值。
  • STD/STDDEV:返回数值的样本标准偏差。
  • STDDEV_POP:返回数值的总体标准差。
  • STDDEV_SAMP:返回一组数值(整数、小数或浮点)的总体标准差。
  • SUM:该函数用于计算汇总值。
  • VAR_POP:返回一组数值(整数、小数或浮点)的总体方差。
  • VAR_SAMP:返回一组数值(整数、小数或浮点)的样本方差。
  • VARIANCE:返回一组数值(整数、小数或浮点)的总体方差。
    • 本文中的聚合函数均以testtable表为测试数据。

      1. create table testtable(a int) distributed by hash(a);
      1. insert into testtable values (1),(2),(3);

      AVG

      1. avg(bigint x)
      2. avg(double x)
      3. avg(float x)
      • 命令说明:该函数用于计算平均值。

      • 返回值类型:DOUBLE。

      • 示例:

        1. select avg(a) from testtable;
        2. +--------+
        3. | avg(a) |
        4. +--------+
        5. | 2.0 |

      BIT_AND

      1. bit_and(float x)
      2. bit_and(bigint x)
      3. bit_and(double x)
      • 命令说明:返回参数所有位按位AND后的结果。

      • 返回值类型:BIGINT。

      • 示例:

        1. select bit_and(a) from testtable;
        2. +------------+
        3. | bit_and(a) |
        4. +------------+
        5. | 0 |

      BIT_OR

      1. bit_or(float x)
      2. bit_or(bigint x)
      3. bit_or(double x)
      • 命令说明:返回参数所有位按位OR后的结果。

      • 返回值类型:BIGINT。

      • 示例:

        1. select bit_or(a) from testtable;
        2. +----------------------------+
        3. | bit_or(a) |
        4. +----------------------------+
        5. | 3 |

      BIT_XOR

      1. bit_xor(double x)
      2. bit_xor(bigint x)
      3. bit_xor(float x)
      • 命令说明:返回参数所有位按位异或后的结果。

      • 返回值类型:BIGINT。

      • 示例:

        1. select bit_xor(a) from testtable;
        2. +----------------------------+
        3. | bit_xor(a) |
        4. +----------------------------+
        5. | 0 |

      COUNT

      1. count([distinct|all] value x)
      • 命令说明:该函数用于计算记录数。

        distinctall指明在计数时是否去除重复记录,默认all,即返回全部记录。如果指定distinct,返回结果只计算唯一值数量。

      • 返回值类型:BIGINT。

      • 示例:

        1. select count(distinct a) from testtable;
        2. +-------------------+
        3. | count(DISTINCT a) |
        4. +-------------------+
        5. | 3 |

      MAX

      1. max(value x)
      • 命令说明:该函数用于计算最大值。

        value可以为任意数据类型类型,但是BOOLEAN类型的数据不允许参与运算。

        当列中的值为null时,该行不参与计算。

      • 返回值类型:LONG。

      • 示例:

        1. select max(a) from testtable;
        2. +--------+
        3. | max(a) |
        4. +--------+
        5. | 3 |

      MIN

      1. min(value x)
      • 命令说明:该函数用于计算最小值。

        value可以为任意数据类型类型,但是BOOLEAN类型的数据不允许参与运算。

        当列中的值为null时,该行不参与计算。

      • 返回值类型:LONG。

      • 示例:

        1. select min(a) from testtable;
        2. +--------+
        3. | min(a) |
        4. +--------+
        5. | 1 |

      STD/STDDEV

      1. std(double x)
      2. std(bigint x)
      3. stddev(double x)
      4. stddev(bigint x)
      • 命令说明:返回数值的样本标准偏差。

      • 返回值类型:DOUBLE。

      • 示例:

        1. select std(a) from testtable;
        2. +-------------------+
        3. | std(a) |
        4. +-------------------+
        5. | 0.816496580927726 |

      STDDEV_POP

      1. stddev_pop(double x)
      2. stddev_pop(bigint x)
      • 命令说明:返回数值的总体标准差。

      • 返回值类型:DOUBLE。

      • 示例:

        1. select stddev_pop(a) from testtable;
        2. +----------------------------+
        3. | stddev_pop(a) |
        4. +----------------------------+
        5. | 0.816496580927726 |

      STDDEV_SAMP

      1. stddev_samp(double x)
      2. stddev_samp(bigint x)
      • 命令说明:返回一组数值(整数、小数或浮点)的总体标准差。

      • 返回值类型:DOUBLE。

      • 示例:

        1. select stddev_samp(a) from testtable;
        2. +----------------------------+
        3. | stddev_samp(a) |
        4. +----------------------------+
        5. | 1.0 |

      SUM

      1. sum(double x)
      2. sum(float x)
      3. sum(bigint x)
      • 命令说明:该函数用于计算汇总值。

      • 返回值类型:BIGINT。

      • 示例:

        1. select sum(a) from testtable;
        2. +----------------------------+
        3. | sum(a) |
        4. +----------------------------+
        5. | 6 |

      VAR_POP

      1. var_pop(double x)
      2. var_pop(bigint x)
      • 命令说明:返回一组数值(整数、小数或浮点)的总体方差。

      • 返回值类型:DOUBLE。

      • 示例:

        1. select var_pop(a) from testtable;
        2. +----------------------------+
        3. | var_pop(a) |
        4. +----------------------------+
        5. | 0.6666666666666666 |

      VAR_SAMP

      1. var_samp(double x)
      2. var_samp(bigint x)
      • 命令说明:返回一组数值(整数、小数或浮点)的样本方差。

      • 返回值类型:DOUBLE。

      • 示例:

        1. select var_samp(a) from testtable;
        2. +----------------------------+
        3. | var_samp(a) |
        4. +----------------------------+
        5. | 1.0 |

      VARIANCE

      1. variance(double x)
      2. variance(bigint x)
      • 命令说明:返回一组数值(整数、小数或浮点)的总体方差。

      • 返回值类型:DOUBLE。

      • 示例:

        1. select variance(a) from testtable;
        2. +----------------------------+
        3. | variance(a) |
        4. +----------------------------+
        5. | 0.6666666666666666 |