温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:02
好,那么我们的这个分组查询,它支不支持我们前面说过的这个排序啊,对这个也绝对是支持的哈,所以接下来呢,咱们来去看一下它是如何来实现这个添加排序的,呃,比如说我们就还拿着刚才的这个案例吧,我们要去查询我们每个部门每个工种员工的平均工资,然后并且呢,并且按我们平均工资的啊,这个高低显示出来,也就是高的在上面,低的在下面哈。啊,怎么做呢?对了,那只要在这个group by句的后面,其实应该说是在整个的这个查询的后面,咱们前面说过,我们的这个order by句除了limit之外,那就是它是最后了哈,那总之你就是在最后我们加上一个order by。按谁排呢?按平均工资,那我们就是avg是不是salary,然后再去DEC是不降序一下呀,哎这样就行了,那现在我们再去执行哈,看一下效果能不能出来。
01:04
可以吧,你看这个工资的话是从高到低的哈,没有问题。啊,那么你加上筛选了,其实效果也是一样的,比方说我加个筛选啊,我我我在这加上一个分组前筛选,比方说部门编号,呃,你看我这个部门编号的话是不是有。呃,为not呢,不为闹,我们来试一下,那应该是where,我们的department ID啊,不等于no,那怎么写嘞,Is not not啊,当然刚才有同学也说到了,说老师你这个部门编号,你是看的这个结果集,那应该是分组后的筛选呀。对了,哎,你像这种情况就是,哎,我的department ID在分组后的这个结果集中也能找到,在分组前也能找到,这不是在这儿吗?那我们是不是刚才说优先考虑让它当分组前筛选呀。那么所以说我加上这个筛选是不是没毛病。
02:01
然后再看,假如说我再去加一个筛选,说平均工资高于1万的哈,有没有高于1万的,有啊有是吧,高于1万的我们再进行显示并且排序,那所以这是不是就应该是用having了呀,Having我们的avg salary大于1万啊好吧,那么现在我们再直行看一下是不是能出来呀,啊,它是这样的。再按照刚才咱们介绍到的,像group by having,它也都支持别名,所以假如说我这用上了别名A,那其实这个地方可不可以用A,可以了哈,那order早就说过,它是肯定能用别名的,是吧?那么现在就行了。好了,这是我们整个的这个分组查询就说到这里了。
我来说两句