• 16_MySQL聚合函数的使用(重点,建议大家多动手操作)


     本节所涉及的SQL语句

    -- 聚合函数
    
    SELECT AVG(sal+IFNULL(comm,0)) AS avg
    FROM t_emp;
    
    -- SUM
    
    SELECT SUM(sal)
    FROM t_emp
    WHERE deptno IN (10,20);
    
    -- MAX
    
    SELECT MAX(sal+IFNULL(comm,0)) AS max 
    FROM t_emp
    WHERE deptno IN (10,20);
    
    SELECT MAX(LENGTH(ename)) AS max 
    FROM t_emp
    WHERE deptno IN (10,20);
    
    -- MIN()
    -- AVG
    
    -- count
    SELECT COUNT(*)
    FROM t_emp;
    
    SELECT COUNT(comm)
    FROM t_emp;
    
    
    
    -- 查询10,20 部门中底薪超过2000并且工龄超过15年的员工人数
    
    SELECT count(*)
    FROM t_emp
    WHERE deptno IN (10,20) AND sal>=2000 AND DATEDIFF(NOW(),hiredate)/365>=15;
    
    
    -- 查询1985年以后入职的员工,底薪超过公司平均底薪的员工数量
    -- 错误示例
    SELECT count(*)
    FROM t_emp
    WHERE sal>AVG(sal) AND hiredate>"1985-01-01";
    -- 函数永远不能放在where中

     

     

     

     

     

     

     

     

     

     

     

    注意:上面第二个问题的语句书写有问题,切记聚合函数一定不能出现在WHERE语句中,因为聚合函数的使用需要确定范围,WHERE是确定范围,在没有确定范围的前提下,聚合函数无法计算,所以WHERE也就无法运行

    那应该如何书写呢?请听下回分解……

  • 相关阅读:
    Unreal Engine 4 Based Materials
    PhysX Clothing for UE4
    UE4中使用URL图片
    开始创作自己的VR作品——VR故事叙述终极指南
    UE4里的自定义深度功能
    Mybatis27题
    java 备用待迁移
    几个算法题目
    数据结构算法题目
    Mybatis 面试题
  • 原文地址:https://www.cnblogs.com/waterr/p/13955925.html
Copyright © 2020-2023  润新知