聚合函数
- 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
表为测试数据。
create table testtable(a int) distributed by hash(a);
insert into testtable values (1),(2),(3);
AVG
avg(bigint x)
avg(double x)
avg(float x)
命令说明:该函数用于计算平均值。
返回值类型:DOUBLE。
示例:
select avg(a) from testtable;
+--------+
| avg(a) |
+--------+
| 2.0 |
BIT_AND
bit_and(float x)
bit_and(bigint x)
bit_and(double x)
命令说明:返回参数所有位按位
AND
后的结果。返回值类型:BIGINT。
示例:
select bit_and(a) from testtable;
+------------+
| bit_and(a) |
+------------+
| 0 |
BIT_OR
bit_or(float x)
bit_or(bigint x)
bit_or(double x)
命令说明:返回参数所有位按位
OR
后的结果。返回值类型:BIGINT。
示例:
select bit_or(a) from testtable;
+----------------------------+
| bit_or(a) |
+----------------------------+
| 3 |
BIT_XOR
bit_xor(double x)
bit_xor(bigint x)
bit_xor(float x)
命令说明:返回参数所有位按位异或后的结果。
返回值类型:BIGINT。
示例:
select bit_xor(a) from testtable;
+----------------------------+
| bit_xor(a) |
+----------------------------+
| 0 |
COUNT
count([distinct|all] value x)
命令说明:该函数用于计算记录数。
distinct
、all
指明在计数时是否去除重复记录,默认all
,即返回全部记录。如果指定distinct
,返回结果只计算唯一值数量。返回值类型:BIGINT。
示例:
select count(distinct a) from testtable;
+-------------------+
| count(DISTINCT a) |
+-------------------+
| 3 |
MAX
max(value x)
命令说明:该函数用于计算最大值。
value
可以为任意数据类型,但是BOOLEAN
类型的数据不允许参与运算。当列中的值为
null
时,该行不参与计算。返回值类型:LONG。
示例:
select max(a) from testtable;
+--------+
| max(a) |
+--------+
| 3 |
MIN
min(value x)
命令说明:该函数用于计算最小值。
value
可以为任意数据类型,但是BOOLEAN
类型的数据不允许参与运算。当列中的值为
null
时,该行不参与计算。返回值类型:LONG。
示例:
select min(a) from testtable;
+--------+
| min(a) |
+--------+
| 1 |
STD/STDDEV
std(double x)
std(bigint x)
stddev(double x)
stddev(bigint x)
命令说明:返回数值的样本标准偏差。
返回值类型:DOUBLE。
示例:
select std(a) from testtable;
+-------------------+
| std(a) |
+-------------------+
| 0.816496580927726 |
STDDEV_POP
stddev_pop(double x)
stddev_pop(bigint x)
命令说明:返回数值的总体标准差。
返回值类型:DOUBLE。
示例:
select stddev_pop(a) from testtable;
+----------------------------+
| stddev_pop(a) |
+----------------------------+
| 0.816496580927726 |
STDDEV_SAMP
stddev_samp(double x)
stddev_samp(bigint x)
命令说明:返回一组数值(整数、小数或浮点)的总体标准差。
返回值类型:DOUBLE。
示例:
select stddev_samp(a) from testtable;
+----------------------------+
| stddev_samp(a) |
+----------------------------+
| 1.0 |
SUM
sum(double x)
sum(float x)
sum(bigint x)
命令说明:该函数用于计算汇总值。
返回值类型:BIGINT。
示例:
select sum(a) from testtable;
+----------------------------+
| sum(a) |
+----------------------------+
| 6 |
VAR_POP
var_pop(double x)
var_pop(bigint x)
- 命令说明:返回一组数值x(整数、小数或浮点)的总体标准方差。也可以使用VARIANCE()函数,具有相同的意义,但VARIANCE()不是标准的SQL。若找不到匹配的项,则VAR_POP()返回NULL。
返回值类型:DOUBLE。
示例:
select var_pop(a) from testtable;
+----------------------------+
| var_pop(a) |
+----------------------------+
| 0.6666666666666666 |
VAR_SAMP
var_samp(double x)
var_samp(bigint x)
命令说明:返回一组数值(整数、小数或浮点)的样本方差。
返回值类型:DOUBLE。
示例:
select var_samp(a) from testtable;
+----------------------------+
| var_samp(a) |
+----------------------------+
| 1.0 |
VARIANCE
variance(double x)
variance(bigint x)
命令说明:返回一组数值(整数、小数或浮点)的总体标准方差。VARIANCE()作为标准SQL的延伸,也可以使用标准SQL函数 VAR_POP()来代替。若找不到匹配的项,则VARIANCE()返回NULL。
返回值类型:DOUBLE。
示例:
select variance(a) from testtable;
+----------------------------+
| variance(a) |
+----------------------------+
| 0.6666666666666666 |
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论