mysql操作入门(六)-----分组函数具体使用,group by 使用

分组函数也叫多行处理函数,即多个输入,一个输出

分组函数就只有五个

  • count 计数 
  • sum 求和
  • avg 平均数
  • max 最大值
  • min 最小值

分组函数使用的规则:不能直接使用在where函数的子句当中。

原因: where的优先级大于分组函数

已知emp表的内容为:

一.分组函数的具体使用:

1.count (*)表示统计总记录条数,不是统计某个字段中数据的个数。

   count(字段):表示统计指定字段中不为null的数据总数量。

 

 2.求工资sal的总和

3.求工资的平均数

4.求工资的最大值

5.求工资的最小值


针对上面分组函数使用的规则:不能直接使用在where函数的子句当中,

有个经典的错误:

举例:查找工资大于平均工资的员工名字和工资:(以下是把分组函数用在where的子句中,会报错)

按照步骤来计算:

  1. 计算平均工资:select avg(sal) from emp;
  2. 找出工资高于平均工资的员工(把上面这句代入where的子句):select ename,sal from emp where sal > (select avg(sal) from emp);


分组函数一般会和group by一起使用。当一个sql语句没有group by时,整张表的数据会自成一组。

group by:按照某个字段或者某些字段进行分组。sql语句执行顺序:先from,在group by,再select分组函数。 

语法:select  字段1,字段2  from 表  where 条件 group by 分组的字段;

单个字段分组:

例子:查找出部门20中最高工资sal的员工

多个字段联合分组:

例子:找出每个部门不同岗位的最高薪资

猜你喜欢

转载自blog.csdn.net/qq_44728587/article/details/123470833