00:00
对吧,60~70的给一个良好,70~80的什么什么优秀啊,或者及格,60~70的及格,70~80的可能良好,80以上的可能优秀,然后算每个阶段有多少人等等这些东西,对吧?这个时候用的case嘛啊,一样的啊,它的用法呢,都一样的啊,那在这个里边呢,我们看一下啊,它的整个的语法是这样,Case else。对吧,Case后面跟什么东西啊。K后面跟条件,K后面不是跟字段吗?当这个字段为多少的时候用它,如果不为它的时候走else嘛,对吧,都忘了啊,那我们来看一下用法啊,首先呢,我们把数据题造一下啊。这个拿过来啊,这个数据还有问题,可能我给他拿出去啊,中间的我得用什么这样啊,我们CTRL加S,嗯,中间不是两个空格吗?空格给他改成什么,改成table,哎改成这个推得复制一下,行哎这边是三个空格是吧,气死行好这个拿过来啊,呃,说他放在这外,这个我们叫什么。
01:39
叫EP是吧,就是员工加上一个什么性别的一个文件啊,然后呢,给他扔进完了,我看他复制粘贴版上,把这个给他覆盖掉了是吧,要拿下来保存退出啊,然后接下来呢,我们建标语句去拿一下啊,就是那第批ID,部门ID以及一个什么性别。
02:00
呃,因为我的数据就是放在边上录下,我就直接干什么,还真不是人啊,这边多了一个have是吧,所以说想突回来还是不行,好C那个心from这个所谓的EP加S这个数据没有问题吧,然后接下来呢,我们要做什么事情来看啊,我们要做这样的一个需求。就是他的原始数据呢,是这个样子,我们拿我们的需求。这边呢有姓名,这边呢是部门对吧,这边呢是性别,现在呢,我们要将部门按照明显的按照部门做什么做分组,对不对,是不是group要部门ID啊,这没问题吧,然后要的东西呢,并不是之前的什么name,按照name聚合,按照sex聚合,而是要按照sex里边的值内容聚合。
03:23
我们要求出来男女有多少人,那这个怎么求?播放。本来你看啊,所谓的这个男女,他是不是属于直啊,最后提到了什么位置啊,一列的位置。这个其实跟他之前写的那个不及格是一样的,本来是分数对吧。是不是根据分数来得到一个不及格或什么样的东西啊,对吧,最后我要得到诶,每个班不及格的有多少人,或者说那个各种各样的有多少人,每个班对吧,要这样这样的一个数据,那你看啊,首先你看到这个最终结果是这个样子,那我们写的查询语句当中啊,毋庸置疑,你第一个位置肯定写的是什么。
04:24
第一批的。这个是吧,找他第一个肯定是他第二个,第三个位置一定是一个什么some,或者说是抗,肯定是一个聚合,对不对,这个没问题吧,对吧,因为你是单个人,然后最后呢,这是一个二,那你肯定要用count或者用some,对吧,好,然后呢,我们把这个先写一下from。哪张表啊,就是刚才我们所说的emp小划线这张表,而且呢,一定还是根据什么group,根据它分组的一定式的,对吧,因为你这个东西写在这其他两个字在是聚合函数,你不写在聚合函数里边,你就得写在哪了。
05:08
分组函数里边对吧,按照你分组,按照其他内容进行聚合。那关键的问题是,这里边儿应该怎么写?男女。这个列啊,是不是对应的是它是这个男这个列,假如说我们叫mail count,这个列呢,飞秒count对吧,我们要聚合他,哎,这个是男,这个是女,我们先把这个东西给写好,然后关键的是这里边应该怎么写,那你看啊,按照部门ID进行分组的时候,是不是这三条数据就挨次挨个的进到同一个组里面去变历到了,那你看啊,这一条数据来了之后,我们判断它是难,它是不是应该给这个字段贡献一个一,同样的这个也是个男,是不是也给这个字段贡献一一,最后这个字段来了,他这个女是不是应该给下面这个字段贡献一个一,对吧,但是数据是一条一条来的,也就是说这三条数据照样都会进到这两个里边,这两个里边都会扫描到这三条数据,对不对。
06:28
对吧?所以刚才我们说了你是男,就是说你这个字符是难的时候才给他贡献好,这块可以怎么写呢?叫kiss对吧?字段应该叫对叫,然后问当什么时候啊,难,难的时候我们在对吧?When and在给多少?刚才我们说了,当我发现这个组是一个难的时候,我们是不是贡献一,但是我们刚才所聊的是不是这三条数据都会进到这个里边来坐便利啊,那是不是有可能是个女啊,女怎么办啊,L0,然后呢,And。
07:18
结束对吧,那你看这个,如果哎我们的sa为难的话,那我们就记录一个一,否则记录零,也就是说对于A部门而言,对于ma count的这个数据,在做sum之前,是不是把数据转化成了110,最后把这个数据整体做一个上多少二对吧?好,那这个就恰好就干什么是不?反过来这个地方改成女是不是就好了对吧?啊,改成女就好了啊,因为这个地方我们要求的是非妙康的,所以当这个性别为女的时候,才要记录一个什么一,否则都记录什么零,对吧?来,我们把这个思路画一下。
08:03
这个其实就跟大家之前写的那个成绩是一样的。啊,写的那个成绩是一样的,练麦搜的时候,刚才一提大家都想起来是吧,有那个成绩说把它分数由分数转化成不及格,及格这种事。对吧,啊,那刚才不有很多人回应我吗。Java里边了if else这个地方,Case then and,对吧,Else啊等等东西,其实其实case啊,它可以不光做两个分支,它可以做多个分支,就是大家所看到那个及格不及格,优秀良好,它可以做四个分支,对吧,可以做更多的分支,如果只有两个分支,我们还有另外的函数可以做,就是大家所学的if。
09:14
这里面也有一来我把这个排一下,这个我就不这样写了,怎么写呢?它里面有个函数叫E啊,这个函数我们是不是不知道怎么用啊,那怎么办啊,DC方程对吧,切不过的对吧,那我们干什么事啊。三个参数对吧,干什么事啊,一个第一个为处啊,就类似于这样的说大于小于零啊,它的那种情况对吧?或者说它不会呢,Z if返回的是什么第二个值,否则返回第三个值,这个能看得懂吧,对吧?哎,有了这个东西就比较方便啊,那也就是说这个地方三个参数逗号隔开第一个怎么写?
10:21
第一个是不是返回值为布尔类型啊处或者false嘛,它返回值为布尔类型,是不是说S如果等于什么来我们给多少一,否则给零对吧?好,那这个地方是不是也一样的if括号把这个拿过来。或者说我把这个零一换一个位置,或者说把这个什么你拿过来三个参数吗?如果说不是跟这个一样的吗?P sex问,当你们难的时候我给个一,否则给零,那这边不一样的吗?If X等于难的时候给一,否则给零,对吧?如果说你只有两个分支的话,我们往往用什么?用if啊,Kiss分呢,是做更多的分支时候会用的啊,If它只能两个分支,那我就想用if做多个分支,能不能做?大家想问题,我多了个什么啊,这多了个括号这啊。
11:25
就是我现在的if是不是只能有哎,负返回中间的值,负返回后面的值啊,我现在就想让它做多个分支,能不能做呢?对,我突然想到了嵌套对吧?好,可以嵌套我衣服里边,我先大一个逻辑对吧?第二个位置我不写一个一,我再写一个一服行不行啊可以对吧?你也能完成什么多个分支,那这样的不如K4分了,逻辑签到起来就比较麻烦对吧?啊好,最后的结果呢,也是A21B2没有问题对吧?啊,这是说将我们的数据呢,由我们的数据值的位置呢,给它替换到哪个位置啊,到列的位置对吧?啊当然这块呢,呃,由于是编码的方式的不不行啊,我试一下能不能行啊,我感觉之前测过好像是不太行啊,主要是编码方式,这边用中文的作为字段,它好像有一点问题,对,应该是编码方式啊,还是不识别这个问题啊。
12:26
就是说这里边直接用这个作位列的时候呢,它还是有问题的啊,它还是有问题的,所以说之前我们要改成什么叫c ma m count啊,就是作为列的时候,中为作为列的时候作为值没问题啊,作为列的时候它会有问题啊,这个要注意一下啊,行,这是我们所聊的一个K分,同时扩展了一个函数叫if,只有两个分支的时候呢,我们会用if来代替这样的一个使用啊,If这个函数呢,在后期的学习过程当中,也是会经常用到的一个函数啊,因为比较方便,它能够做逻辑分支。对吧,啊,他能做国际。
我来说两句