00:00
好,咱们之前学的这么多函数啊,其实这些函数啊,统称为叫做单行函数。为什么叫单行函数呢?因为咱们从这个位置往上学习的,随便来一个函数,就这个吧,它能够处理的数据是不是只能处理一个值?把一个值转成这个格式,把一个值转成这个格式,所以它只能处理一个值。处理一个值呢,咱们叫单行函数。好,接下来呢,咱们会学习一个。能够处理一堆值的。处理多个数据。的函数。叫做。聚合函数又称之为,叫做。组函数。总函数。但是我。叫做聚合啊,我叫聚合。聚合函数啊。这个巨额函数啊,一共就五个,一共就有五个。
01:03
它很特色啊,那这五个分别都是啥呢?在这儿来。这是啥呀,这是。最大值是吧?哎,非常简单啊,来看一下这五个函数,其实非常简单,非常非常简单。他们基于一组数据返回一个结果,比如说我给大家写点需需求第一个。比如说我想知道。我想知道。这个工资这个月薪是吧。换一张表吧,别老,别老这个员工表了。我想知道。课程。表中。哪门课?的课时。课时课时。课时最高的是吧。哎,等会儿哪门课的就是课时最高是吧,课时。
02:02
最多。的是多少?就课时最多吧。来看一眼哈。Subject表。From。这张表。好,这张表哪个列为课时呢?第一个呀,就是课程编号1234567是吧,第二个列呢,叫科目名,第一科呢叫加入SE,第二科叫苗,好吧。这个列就叫课时class hour是吧?啊,这个里边你看60这四十七十三十六七十六,我想知道这个里边的最大,这个列的最大值是多少。76啊,下边还有呢。下边还有数据呢。还有86呢。四十八六了是吧。那你用眼睛看可累死了。对于这样的需求。对于这样的需求,咱们其实啊。使用聚合函数,一个单词就搞定了。
03:03
怎么搞定?查询max最大值。查询最大值。哪个列的最大值?写一道题里边哪个列class?好,完事了。最大值八六。这个是最大值。简单吧。OK,同理啊,一模一样的。你都知道我要copy,我要写啥?最少的是吧。哎,我去最少,那我就把这个单词换成啥。OK。好,再来。我要求我要知道我们一共啊,不对,就是我们了,就是课程表中共有多少门课。哎,一共有多少门课?
04:02
这个多少门课呀,就是这个意思啊。这不是一门两门三门四门五门六门七门,就是这张表里一共多少数据是吧,这是咱这点看有是不是14个啊。但是你用眼睛看看不一定好弄是吧,所以咱们得用一个代码呢,给他查出来。一共有多少门课呢?记住了是多少门课,14个是吧?用这个啊。好了,这就是14。比如说再换一个。这个第三个哈,换一个。我想知道student表中共有多少?学员。知道吗?不知道吧。他说,我看一眼呗。STUDENT1直行这块显示都是学号,能看出几个吗?但这有是吧?
05:02
记住了啊,这是咱们这个第三方这个工具这块会帮你显示,如果是黑窗口的话,执行命令。怎么可能给你显示出来嘛,没有这个功能啊,所以咱们得写代码,共有多少个学员呢,把它改为啥。一样的抗性,哎。好,一直行就62啊。60。这个就是个数哈,我给写上啊。第一个函数干嘛的max。这个是最大值。第二个。最小值叫min。第三个。叫。看看。星表示的是。不是合适吗?总行数是吧。
06:01
总行数,哎。总行数也可以理解为是。总条数是吧。这张表中各有多少条数据是吧?你加个冒号吧。往后边来了,这不。好。一共现再说了三个了吧,还有两个。来。四。这个呢,叫做。学完就是课程表中。所有课时。的总和是多少?总和。我一看看我要把这14门课都学完,我一共上多少节课啊,这意思吧,用这个函数啊,这个函数叫做。Some。叫求和。
07:00
求和。来吧。Some哪个列呀,课时是吧。三个价格表一次行一共788。这个列的求和就是788。哎,萨姆求和。好,最后一个函数。这个函数第五个这个叫啥嘞。平均值。对吧。比如说咱写一个。平均。每门课。多少课时?平均每门课多少课时?实际上就是用788除以14是吧?啊除以14,哎,咱来除一下看看多少呗。怎么做除法呢?788除以14。等于多少?
08:01
比如差不多56是吧,咱就取到整个是不是56啊。来看看我这个平均值,求法会不会是56?平均课时。OK吗?都一样了。哎,一样的。OK。好,有了这些东西呢,咱们计算一些东西就非常方便了,是吧,比如说随便来一个,我想知道咱们公司平均工资是多高。怎么写?对吧,这个是这个月薪吧,我想知道咱们的月平均月薪是多少,那这块你就来个avg。OK。对吧,好,我作为一个老板,我想知道这个月我总共要发出多少钱作为工资。是不是得求这个工资的总和了?
09:01
OK,我这个月就得发出三万多。就是这个聚合函数的一个用法,行了吧。好,这个是咱们的聚合函数。聚函数,这个聚合函数里边啊,还有一个有一个值,我需要给大家详细的说一说啊,就是这个抗的星。就是说星不准确啊。啊星from s员工。好,这里边儿显示咱们有多少个员工啊。也就是说员工表里边是不是一共有25条记录啊。OK,那这个count星啊,这个函数这个里边啊,是可以跟具体的列的。可以跟列名的来。Count count,比如说我写上ID。From员工表。
10:01
它正常是不是还是25个呀。好看好了啊,嗯,咱们放上这个列。这个列啥列奖金是吧,这个奖金列是不是有空的值啊。来看看什么样啊?叫做com mi。SP。好,一直行几条。所以说。Count这个函数里边跟列名的时候,它求的是啥呀?不为空的行数吧。记住了。当。Count里边跟的是列名。哪个这个是吧。那么计算的为是。不为空,该裂啊。
11:04
该列不为空的总行数。该列不为空的总行数。对吧。所以呢,咱们有的时候呢,用这个函数的时候,会跟里边跟列名看到了吧。但是有的人说,哎呀,我也不知道哪个列为空,哪个列不为空啊,所以保险起见咋办呀?可以用星,哎,用count星就好了。保险起见。我。好。比如说这个这句话ID列没有空值。返回的就是表中选总行数。好,这个呢,奖金列。有空值返回的。是。为什么?
12:01
是有奖金的总行数。OK。刚才这个返回的是几来着。五对吧,是不是五啊,啊这个呢。25是不是是不是总总行数啊。好,它俩是有区别的啊,这里边儿根具体列的时候,你得看这个列有没有控制。OK。好,这样的话呢,咱们这个五个聚合函数就搞定了。
我来说两句