分组函数

多行处理函数的特点:输入多行,最终只会输出一行(一项)。
注意:⚠️ 分组函数在使用的时候必须先进行分组,然后才能使用,如果没有对数据进行分组,整张表为一组

  • 分组函数自动过滤null,不需要使用条件过滤null;
  • 分组函数不能直接使用在WHERE句子中。

    为什么分组函数不能在where后面执行呢?

  • SELECT ename ,sal FROM emp WHERE sal > MIN(sal); // 报错

因为分组函数在使用的时候必须先分组之后才能使用,WHERE执行的时候,还没有分组。所以WHERE后面不能出现分组函数。

  • SELECT SUM(sal) FROM emp;语句没有分组为什么能执行呢?

因为SELECT语句默认在GROUP BY 后面执行。

max

获取整张表数据中的最大一项

  1. -- max
  2. SELECT MAX(sal) FROM emp;

min

获取整张表数据中的最小一项

  1. -- min
  2. SELECT MIN(sal) FROM emp;

avg

获取平均值

  1. -- avg
  2. SELECT AVG(sal) FROM emp;

count

计数,统计数量

  • count(具体字段):统计该行字段下所有不为null元素的总数
  • count(*):统计表的总行数。
    1. -- count 记数
    2. SELECT COUNT(sal) FROM emp;

    sum

    求和
    1. -- sum
    2. SELECT sum(sal) FROM emp;