聚合函数(Aggregate Functions)通常用在 SQL 查询 中,用来对一组数据进行统计和计算,比如求和、平均值、最大值、最小值、计数等。下面从基础到常见用法给你讲清楚。
| 函数 | 作用 |
|---|---|
COUNT() |
统计行数 |
SUM() |
求和 |
AVG() |
求平均值 |
MAX() |
最大值 |
MIN() |
最小值 |
假设有一张表 orders:
| id | user_id | amount | create_date |
|---|---|---|---|
| 1 | 101 | 100 | 2024-01-01 |
| 2 | 102 | 200 | 2024-01-02 |
| 3 | 101 | 150 | 2024-01-03 |
SELECT COUNT(*) FROM orders;
➡ 统计订单总数
SELECT COUNT(DISTINCT user_id) FROM orders;
➡ 统计有多少个不同用户
SELECT SUM(amount) FROM orders;
➡ 所有订单总金额
SELECT AVG(amount) FROM orders;
➡ 订单平均金额
SELECT MAX(amount), MIN(amount)
FROM orders;
聚合函数通常和 GROUP BY 一起用,用来分组统计。
SELECT user_id, SUM(amount)
FROM orders
GROUP BY user_id;
结果:
| user_id | SUM(amount) |
|---|---|
| 101 | 250 |
| 102 | 200 |
WHERE 不能过滤聚合结果,要用 HAVING
SELECT user_id, SUM(amount) AS total
FROM orders
GROUP BY user_id
HAVING SUM(amount) > 200;
✅ 聚合函数会忽略 NULL
✅ SELECT 中出现的非聚合字段,必须写在 GROUP BY 里
❌ 不能在 WHERE 中用聚合函数
SUM()、AVERAGE()、COUNT()df['amount'].sum()
df.groupby('user_id')['amount'].sum()
如果你说的是 某个具体数据库(MySQL / PostgreSQL / Oracle) 或 某种语言里的聚合函数,可以告诉我,我给你针对性示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。