東莞專業(yè)網(wǎng)站建設(shè)公司站長(zhǎng)工具ping
第七章 - 聚合函數(shù)
- 使用別名 as
- count() 計(jì)數(shù)
- avg() 平均值
- sum() 求和
- max() 最大值
- min() 最小值
- 一些數(shù)學(xué)計(jì)算函數(shù)
- Abs()
- Cos()
- Exp()
- Mod()
- Pi()
- radians()
- Sin()
- Sqrt()
- Power()
- Ceil()
- Floor()
使用別名 as
- 在SQL中可以使用
as
來(lái)為一個(gè)字段或者一個(gè)值設(shè)置新的別名 - 下面聚合函數(shù)的使用中就會(huì)經(jīng)常使用到
count() 計(jì)數(shù)
count()
函數(shù)有兩種使用方式。
- 使用
count(*)
對(duì)表中行的行數(shù)進(jìn)行計(jì)數(shù),不管列表中包含的是空值(null)還是非空值。
select# 當(dāng)使用as設(shè)置別名時(shí),輸出的結(jié)果顯示的就是設(shè)置的別名count(*) as `計(jì)數(shù)`
fromtest.test001
- 使用
count(列名)
對(duì)指定列中非空的行進(jìn)行計(jì)數(shù)。也就是如果指定的某一列數(shù)據(jù)里面有null值時(shí),會(huì)跳過(guò)null值只計(jì)算非null的行數(shù)。
select# 當(dāng)不設(shè)置別名時(shí),聚合函數(shù)輸出的為函數(shù)本身# age這一列數(shù)據(jù)中,一共有4行,其中一個(gè)為null,當(dāng)值count這一列的時(shí)候返回的有效條數(shù)為3。count(age)
fromtest.test001
avg() 平均值
avg()
通過(guò)對(duì)表中行數(shù)計(jì)數(shù)并計(jì)算指定列之和,然后求出該列的平均值。- 可以用來(lái)計(jì)算所有列的平均值,也可以用來(lái)計(jì)算特定列的平均值。
selectavg(SalePrice) as `房?jī)r(jià)均值`
fromtest.houseprices
sum() 求和
- 用來(lái)計(jì)算指定列的和。
selectsum(SalePrice) as `房?jī)r(jià)總和`
fromtest.houseprices
max() 最大值
- 返回指定列中的最大值,常用于數(shù)值、日期時(shí)間等。
selectmax(SalePrice) as `最高房?jī)r(jià)`
fromtest.houseprices
min() 最小值
- 返回指定列中的最小值,常用于數(shù)值、日期時(shí)間等。
select
min(SalePrice) as `最低房?jī)r(jià)`
from
test.houseprices
一些數(shù)學(xué)計(jì)算函數(shù)
Abs()
- 絕對(duì)值函數(shù),可以把負(fù)值轉(zhuǎn)換為正值。
selectabs( -100)
Cos()
- 余弦函數(shù),需要輸入弧度值。
selectcos(1)
Exp()
- 返回e的x次方
select# exp(5)表示e的5次方exp(5)
Mod()
- 余數(shù)函數(shù),返回x除以y的余數(shù)。
select# 求10除以3的余數(shù)mod(10,3)
Pi()
- 圓周率π\(zhòng)piπ的值
selectpi()
radians()
- 將角度轉(zhuǎn)換為弧度
selectradians(90)
Sin()
- 正弦函數(shù),需要輸入弧度值。
selectsin(radians(90))
Sqrt()
- 平方根函數(shù),求平方根的值。
selectsqrt(144)
Power()
- 冪函數(shù),求x的y次方。
selectpower(2,3)
Ceil()
- 向上取整
selectceil(2.1)
Floor()
- 向下取整
selectfloor(2.9)