所有聚合函数都具有确定性。任何时候用一组给定的输入值调用它们时,都返回相同的值。
在OceanBase的聚合函数中,Value表达式只能出现一个。例如:不支持COUNT(c1, c2),仅支持COUNT(c1)。
声明
说明
返回指定组中的平均值,空值被忽略。DISTINCT选项可用于返回expr的不同值的平均值。若找不到匹配的行,则AVG()返回NULL。
例子
COUNT
声明
COUNT([DISTINCT] expr)
说明
COUNT([DISTINCT] expr )返回SELECT语句检索到的行中非NULL值的数目。若找不到匹配的行,则COUNT()返回0。DISTINCT选项可用于返回 expr 的不同值的数目。
COUNT(*)的稍微不同之处在于,它返回检索行的数目,不论其是否包含NULL值。
Oceanbase>select * from oceanbasetest;
+----+------+------+
| id | ip | ip2 |
+----+------+------+
| 1 | 4 | NULL |
| 4 | 3 | NULL |
+----+------+------+
3 rows in set (0.00 sec)
Oceanbase>select count(ip2), count(ip), count(distinct(ip)), count(*) from oceanbasetest;
+------------+-----------+---------------------+----------+
| count(ip2) | count(ip) | count(distinct(ip)) | count(*) |
+------------+-----------+---------------------+----------+
| 0 | 3 | 2 | 3 |
+------------+-----------+---------------------+----------+
声明
MAX([DISTINCT] expr)
说明
返回指定数据中的最大值。
MAX()的取值可以是一个字符串参数;在这些情况下,它们返回最大字符串值。DISTINCT关键字可以被用来查找 expr 的不同值的最大值,这产生的结果与省略DISTINCT 的结果相同。
假设表a有三行数据:id=1,num=10;id=2,num=20;id=3,num=30。
例子
MIN
声明
MIN([DISTINCT] expr)
说明
返回指定数据中的最小值。
MIN()的取值可以是一个字符串参数;在这些情况下,它们返回最小字符串值。DISTINCT关键字可以被用来查找expr 的不同值的最小值,然而,这产生的结果与省略DISTINCT 的结果相同。
例子
Oceanbase>SELECT MIN(num) FROM a;
| MIN(num) |
+----------------+
| 10 |
+----------------+
1 row in set (0.00 sec)
声明
SUM([DISTINCT] expr)
说明
返回 expr 的总数。若返回集合中无任何行,则 SUM() 返回NULL。DISTINCT关键字可用于求得 expr 不同值的总和。
若找不到匹配的行,则SUM()返回NULL。
例子
GROUP_CONCAT
声明
GROUP_CONCAT([DISTINCT] expr)
说明
该函数返回带有来自一个组的连接的非NULL值的字符串结果。
GROUP_CONCAT([DISTINCT] expr [,expr ...]
[ORDER BY {unsigned_integer | col_name | expr}
ASC | DESC]
例子