mysql group by 有哪些聚合函数
时间: 2024-12-17 18:12:36 浏览: 3
在MySQL中,GROUP BY语句通常与聚合函数一起使用,以对数据进行分组并计算每个组的汇总值。以下是常用的几个MySQL聚合函数:
1. COUNT(): 计算某一列非NULL值的数量。
- `COUNT(column_name)` 或 `COUNT(*)`(计数所有行)
2. SUM(): 求和,对数值型字段求总和。
- `SUM(column_name)`
3. AVG(): 平均值,计算数值型字段的平均值。
- `AVG(column_name)`
4. MAX(): 找到最大值,用于数值型或字符串比较。
- `MAX(column_name)`
5. MIN(): 找到最小值。
- `MIN(column_name)`
6. GROUP_CONCAT(): 将分组的行合并成一个字符串,常用在需要处理文本列表的时候。
- `GROUP_CONCAT(column_name SEPARATOR ', ')` (指定分隔符)
7. DISTINCT: 返回唯一的值,常与COUNT配合使用去除重复项。
- `COUNT(DISTINCT column_name)`
8. CASE WHEN...THEN...[ELSE] END: 可以创建更复杂的条件聚合函数,比如基于特定条件计算值。
组合使用时,例如:
```sql
SELECT column1, COUNT(*), SUM(column2), AVG(column3)
FROM table_name
GROUP BY column1;
```
这个例子会对`column1`进行分组,并给出每个组的行数、`column2`的总和以及`column3`的平均值。
阅读全文