第七章 - 聚合函数
使用别名 as
- 在SQL中可以使用
as
来为一个字段或者一个值设置新的别名 - 下面聚合函数的使用中就会经常使用到
count() 计数
count()
函数有两种使用方式。
- 使用
count(*)
对表中行的行数进行计数,不管列表中包含的是空值(null)还是非空值。
select
# 当使用as设置别名时,输出的结果显示的就是设置的别名
count(*) as `计数`
from
test.test001
- 使用
count(列名)
对指定列中非空的行进行计数。也就是如果指定的某一列数据里面有null值时,会跳过null值只计算非null的行数。
select
# 当不设置别名时,聚合函数输出的为函数本身
# age这一列数据中,一共有4行,其中一个为null,当值count这一列的时候返回的有效条数为3。
count(age)
from
test.test001
avg() 平均值
avg()
通过对表中行数计数并计算指定列之和,然后求出该列的平均值。- 可以用来计算所有列的平均值,也可以用来计算特定列的平均值。
select
avg(SalePrice) as `房价均值`
from
test.houseprices
sum() 求和
- 用来计算指定列的和。
select
sum(SalePrice) as `房价总和`
from
test.houseprices
max() 最大值
- 返回指定列中的最大值,常用于数值、日期时间等。
select
max(SalePrice) as `最高房价`
from
test.houseprices
min() 最小值
- 返回指定列中的最小值,常用于数值、日期时间等。
select
min(SalePrice) as `最低房价`
from
test.houseprices
一些数学计算函数
Abs()
- 绝对值函数,可以把负值转换为正值。
select
abs( -100)
Cos()
- 余弦函数,需要输入弧度值。
select
cos(1)
Exp()
- 返回e的x次方
select
# exp(5)表示e的5次方
exp(5)
Mod()
- 余数函数,返回x除以y的余数。
select
# 求10除以3的余数
mod(10,3)
Pi()
- 圆周率 π \pi π的值
select
pi()
radians()
- 将角度转换为弧度
select
radians(90)
Sin()
- 正弦函数,需要输入弧度值。
select
sin(radians(90))
Sqrt()
- 平方根函数,求平方根的值。
select
sqrt(144)
Power()
- 幂函数,求x的y次方。
select
power(2,3)
Ceil()
- 向上取整
select
ceil(2.1)
Floor()
- 向下取整
select
floor(2.9)