分组函数(聚合函数/多行处理函数)

18、分组函数(多行处理函数)

  多行处理函数的特点:输入多行,最终输出一行

  5个:

    count 计数

    sum 求和

    avg 平均值

    max 最大值

    min 最小值

  注意:

    分组函数在使用的时候必须先进行分组,然后才能用

    如果你没有对数据分组,整张表默认为一组

    找出最高工资?

    select max(sal) from emp;

    找出最低工资?

    select min(sal) from emp;

    计算工资和:

    select sum(sal) from emp;

    计算平均工资:

    select avg(sal) from emp;

    计算员工数量:

    select count(ename) from emp;

    注意:  分组函数在使用时

        第一点:分组函数自动忽略NULL,你不需要提前对NULL进行处理

        第二点:分组函数中count(*)和count(具体字段)区别?

        count(具体字段):表示统计该字段下所有不为NULL的元素的总数。

        count(*):统计表当中的总行数。(只要有一行数据count则++)

            因为每一行记录不可能都为NULL,一行数据中只要有一列不为NULL,则这条数据有效

        第三点:分组函数不能够直接使用在where子句中

          找出比最低工资高的员工信息。

          select ename,sal from emp where sal > min(sal);

          出现错误ERROR 1111 (HY000): Invalid use of group function

        第四点:所有的分组函数可以组合起来一起用

          select sum(sal),min(sal),max(sal),avg(sal),count(*) from emp;

上一篇:索引的失效


下一篇:神了,程序员放弃写代码,直接用SQL写逻辑,你废吗?