查询操作是MySQL中使用最广泛的操作,基础操作在前面的博客中已经详细讲解了。接下来对查询操作进行进阶详解。
目录
一.聚合查询
聚合查询本质上是在针对行与行之间进行运算。前面我们讲过查询针对列于列之间进行运算。
进行聚合查询,需要搭配聚合函数。聚合函数是SQL中内置的一组函数
这些操作都是针对某个列的所有行来进行的运算。比如求和、求平均值、求最大值、求最小值这几个操作,都是需要针对数字类型的列进行的。(注意一定要是数字列,否则无法进行计算,并且会报错)我们举几个例子:
首先创建一个分数表,内容如下:
现在想查询一下所有人的语文成绩的平均值,可以使用avg函数,如图:
接下来查询一下所有成绩的平均值,如图:
接下来再查询一下语文成绩的最高分以及最低分:
查询中我们还可以使用group by对表中的行进行分组。不用group by分组的时候就相当于只有一组,把所有的行进行聚合。引入group by就可以针对不同的组来分别进行聚合。我们创建一个工资表:
这时候如果我们算平均工资就没有什么意义。因为工资差距过大了。符合事实的应该是根据岗位来分别统计,这时候就需要根据表中的role这个类来进行分组。如图: