火柴人武林大会
156.74M · 2026-02-04
| 函数功能 | 说明 |
|---|---|
COUNT(*) | 统计行数(最安全) |
COUNT(expr) | 统计 expr ≠ NULL 的行数 |
COUNT(DISTINCT expr) | 去重计数 |
COUNT(*)
COUNT(id_card)
COUNT(DISTINCT dept_id)
️ 注意
COUNT(DISTINCT a, b) MySQL 不支持COUNT(DISTINCT expr)| 函数功能 | 说明 |
|---|---|
SUM(expr) | 求和 |
SUM(DISTINCT expr) | 去重求和 |
AVG(expr) | 平均值 |
AVG(DISTINCT expr) | 去重平均 |
SUM(score)
AVG(salary)
️ 注意
| 函数功能 | 说明 |
|---|---|
MAX(expr) | 最大值 |
MIN(expr) | 最小值 |
MAX(birth_date)
MIN(score)
支持 数值 / 字符串 / 日期
| 函数功能 | 说明 |
|---|---|
GROUP_CONCAT(expr) | 分组拼接 |
GROUP_CONCAT(DISTINCT expr) | 去重拼接 |
GROUP_CONCAT(name SEPARATOR ',')
高级:
GROUP_CONCAT(DISTINCT name ORDER BY name SEPARATOR '、')
️ 注意
| 函数功能 | 含义 |
|---|---|
VAR_POP() | 总体方差身体方向差异 |
VAR_SAMP() | 样本方差 |
VARIANCE() | 等价 VAR_POP |
STDDEV_POP() | 总体标准差 |
STDDEV_SAMP() | 样本标准差 |
STD() | 等价 STDDEV_POP标准差_流行 |
STDDEV() | 等价 STDDEV_POP标准差_流行 |
STDDEV(score)
VAR_SAMP(score)
| 函数功能 | 说明 |
|---|---|
BIT_AND(expr) | 按位与 |
BIT_OR(expr) | 按位或 |
BIT_XOR(expr) | 按位异或 |
BIT_OR(permission_mask)
| 函数功能 | 说明 |
|---|---|
JSON_ARRAYAGG(expr) | 聚合成 JSON 数组 |
JSON_OBJECTAGG(k, v) | 聚合成 JSON 对象 |
JSON_ARRAYAGG(name)
JSON_OBJECTAGG(id, name)
️ 注意
| 函数功能 | 说明 |
|---|---|
BOOL_AND(expr) | 全为 TRUE → TRUE |
BOOL_OR(expr) | 有一个 TRUE → TRUE |
BOOL_AND(score >= 60)
ANY_VALUE(expr)
告诉 MySQL:我知道我在干嘛
SELECT
ANY_VALUE(name),
COUNT(*)
FROM user
GROUP BY dept_id;
️ 仅用于 你确定任取一条都没问题的场景
| 函数功能 | 说明 |
|---|---|
COUNT() OVER() | 窗口计数 |
SUM() OVER() | 累计求和 |
AVG() OVER() | 滑动平均 |
SUM(score) OVER (PARTITION BY dept_id)
COUNT
SUM
AVG
MIN
MAX
GROUP_CONCAT
VAR_POP
VAR_SAMP
VARIANCE
STD
STDDEV
STDDEV_POP
STDDEV_SAMP
BIT_AND
BIT_OR
BIT_XOR
JSON_ARRAYAGG
JSON_OBJECTAGG
BOOL_AND
BOOL_OR
ANY_VALUE
你现在看到的是:完整可用集合(MySQL 8.x)
SELECT 中出现的非聚合字段 → 必须 GROUP BY
表达式 ≠ 字段名
GROUP BY CONCAT(a, b)
不是
GROUP BY title
ONLY_FULL_GROUP_BY 不要关
用 ANY_VALUE() 才是专业写法