# 聚合函数

__*聚合函数的作用*__
__*COUNT 函数*__
__*MIN 函数*__
__*MAX 函数*__
__*SUM 函数*__
__*AVG 函数*__
__*GROUP_CONCAT 函数*__

+ 对一组记录执行汇总操作
+ 基于聚合到同一组的多个记录返回单个记录
+ 在结果中仅包含非空值
+ 典型函数:
  + `COUNT([distinct] expression)` 
  + `MIN(expression)`,`MAX(expression)` 
  + `SUM([distinct] expression)`,`AVG([distinct] expression)` 
  + `GROUP_CONCAT([distinct] expression)` 
```8
tidb> SELECT group_concat(name), count(*), max(mass) FROM universe.planets;
+---------------------------------------------------------------------------------+----------+-----------+
| group_concat(name)                                                              | count(*) | max(mass) |
+---------------------------------------------------------------------------------+----------+-----------+
| Mercury,Venus,Earth,Mars,Jupiter,Saturn,Uranus,Neptune,Pluto,Proxima Centauri b |       10 |      1898 |
+---------------------------------------------------------------------------------+----------+-----------+
1 row in set (0.00 sec)

tidb> select @@group_concat_max_len;
+------------------------+
| @@group_concat_max_len |
+------------------------+
|                   ~!@1024@!~ |
+------------------------+
```
--------------------------------------------------------------------------
- `COUNT()`	返回检索到的行的数目
- `COUNT(DISTINCT)`	返回不同值的数目
- `MAX()`	返回最大值
- `MIN()`	返回最小值
- `SUM()`	返回和
- `AVG()`	返回平均值
- `GROUP_CONCAT()`	返回连接的字符串

- 注意:
  - 除非另有说明,否则聚合函数默认忽略 NULL 值。
  - 如果在不包含 GROUP BY 子句的语句中使用聚合函数,则相当于对所有行进行分组。