聚合函数

聚合函数

聚合函数是对列中的一系列数据进行处理,返回单个统计值

SUM()

获取单个列的合计值

MAX()

计算列的最大值

1
2
3
4
5
6
SELECT 
Name,
new_age
FROM
Account
WHERE new_age = (SELECT MAX(new_age) FROM Account)

MIN()

计算列的最小值

AVG()

计算某个列的平均值,忽略NULL值

COUNT()

统计行数量
COUNT(*)计算表中的总行数(包括null)
COUNT(column)计算column列的行数(不计算null行)

GROUP BY

根据字句后缀的列对数据进行分组(null值为一组)

1
2
3
SELECT sex+'教师' AS teacher,AVG(age) AS avg_age
FROM t_teacher
GROUP BY sex

ROLLUP

1
2
3
SELECT sex+'教师' AS teacher,AVG(age) AS avg_age
FROM t_teacher
GROUP BY sex with ROLLUP

HAVING

对group by分组后进行筛选

1
2
3
4
5
SELECT sex+'教师' AS teacher,COUNT(*) AS num_teacher
FROM t_teacher
GROUP BY teacher
HAVING COUNT(*)>=2
--显示男女教师分组中人数大于2的

重复值处理 DISTINCT

在聚合函数中,默认为ALL关键字,即不论是否有重复值,对所有数据进行处理
使用DISTINCT关键字后,则会进行非重值处理,即每个重复的值只取一次参与计算

1
2
3
4
5
6
SELECT 
Name,
new_age
FROM
Account
WHERE new_age = (SELECT AVG(DISTINCT new_age) FROM Account)
Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2020 李明华
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信