数据应用达人之SQL基础教程分享10-SQL函数

阅读更多

SQL的函数很有用

2.函数

1、SQL的函数

【知识点介绍】

与大多数的计算机语言一样,SQL里也有函数(functions),它的函数一般是对数据执行的,为数据的转换和处理提供很强大、简介的作用。
它的使用在语法上可以表达为:

SELECT 函数(列) FROM 表;

2、函数类型

【知识点介绍】

在SQL中,函数往往被分为两个类型:
1.Aggregate 函数,也被称为汇总函数或聚集函数,它的函数操作面向列的数据,并返回单一的值;
2.Scalar 函数,它的函数面向单一的值,返回基于该值操作后的单一的值。
这两种类型的具体内容,我们会在接下来的课程中一一介绍。



汇总数据的函数

3.Aggregate函数

1、什么是聚集函数

【知识点介绍】

聚集函数是对某些列的行数据进行计算,并返回一个值,常见的函数有:

函数 描述
AVG( ) 返回某列的平均值
COUNT( ) 返回某列的行数
MAX( ) 返回某列的最大值
MIN( ) 返回某列的最小值
SUM( ) 统计某列值的和

2、avg-求平均值

【知识点介绍】

AVG函数用来返回某列的平均值,它通过对列值之和求得该列的平均值。

【实例】

求植物专业学生的学分评价值。
返回的值是学分的平均值,条件是物理学学生。

SELECT AVG(Credit) FROM student
WHERE Major = 'Botany';

 

3、count-计数

【知识点介绍】

COUNT函数是计数函数,用来统计表中某列有多少行。
我们使用COUNT(*)会对表中行的所有数目进行计数,无论行数据是否为空。而使用COUNT(列)可以对某列进行行数统计,同样无视数据是否为空。

【实例】

查看学生表现在有多少个学生的数据。
(思考下学生表中什么值是不允许为空的)
ID 和SName在当初设计的时候是不允许空值的列。

SELECT COUNT(ID) FROM student;

 

4、max min-最大最小值

【知识点介绍】

MAX和MIN是返回列中的最大值和最小值,它们要求我们指定列名。

【实例】

查询学生表中最低或最高学分。

SELECT MIN(Credit) FROM student;

 

5、sum-总计

【知识点介绍】

SUM是用来返回列值的和(区分计数),适用于数字类型的数据,字符串的和总是返回0。

【实例】

统计女学生的学分。
使用SUM函数,条件子句是满足性别是女性。

SELECT sum(Credit) FROM student
WHERE Sex = 'Female';

 

6、关于HAVING

【知识点介绍】

聚集函数有个很大的问题,即它在WHERE语句中是无法使用的,比如我们要返回学生表中分数最低的学信息,我们不假思索会这样写:

SELECT * FROM student
WHERE Credit = MAX(Credit);  -- 不被SQL支持

 

然后,这样在SQL中是不被支持的!
为了让聚集函数能在WHERE中被使用,SQL里增加了一个HAVING子句来替代WHERE的作用:

SELECT 某列, 聚集函数(某列) FROM 表
WHERE[子句]
GROUP BY 某列
HAVING 聚集函数(某列)[子句]
ORDER BY 某列;

 

注意语句中WHERE、GROUP BY、HAVING、ORDER BY的优先顺序。

【实例】

使用HAVING子句,统计各个专业的学分综合。
选择Major列和SUM(Credit)函数即可;
保险起见,SUM的结果大于0即可。

SELECT Major,SUM(Credit) FROM student
GROUP BY Major
HAVING SUM(Credit) > 0;

 

下文待续。。。。。。

 

欢迎大家前往访问我们的官网:

http://www.datanew.com/datanew/homepage

http://www.lechuangzhe.com/homepage

你可能感兴趣的:(sum,having,avg,count)