MySQL分组函数

103 阅读1分钟

一、分组函数

  1. 分组函数也叫多行处理函数
  2. 多行处理函数的特点:输入多行,最终输出一行。

二、常用函数

  1. count 计数
  2. sum 求和
  3. avg 平均值
  4. max 最大值
  5. min 最小值

!!!分组函数在使用的时候必须先进行分组,然后才能用。如果没有对数据进行分组,整张表默认为一组。

三、举例

  1. 找出最高工资?select max(sal) from emp;
  2. 找出最低工资?select min(sal) from emp;
  3. 计算工资和?select sum(sal) from emp;
  4. 计算平均工资? select avg(sal) from emp;
  5. 计算员工数量?select count(ename) from emp;

四、注意事项

  1. 分组函数自动忽略NULL,不需要提前对NULL进行处理。
  2. 分组函数中count(*)count(具体字段)有什么区别?count(具体字段):表示统计该字段下所有不为NULL的元素的总数;count(*):统计表当中的总行数。(只要有一行数据count则++)因为每一行记录不可能都为NULL,一行数据中有一列不为NULL,则这行数据就是有效的。
  3. 分组函数不能够直接使用在where子句中。例:select ename,sal from emp where sal > min(sal);这种用法是错误的。
  4. 所有的分组函数可以组合起来一起用。select sum(sal),min(sal),max(sal),avg(sal),count(*) from emp;