暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

mysql基础-mysql中的DQL-分组函数

潭时录 2021-05-19
250

点击蓝色“潭时录”关注我丫

每天和小潭一起快乐的学习~

    你好,我是在学mysql的小潭。鉴于篇幅原因,小潭将mysql查询部分的知识点分成同期不同篇的方式进行学习和介绍。该篇中我们将了解mysql中的分组函数。


sql语句选中使用F9可快速提交查询,使用F12可以格式化sql语句。

  • 分组函数

    #分组函数
    /*
    功能:用作统计使用,又称为聚合函数,统计函数或组函数
    分类:sum 求和
    avg 求平均值
    max 最大值
    min 最小值
    count 计算个数
    特点:
    1.sum和avg一般处理数值型
    max,min和count可以处理任何类型
    2.分组函数都忽略null值
    3.可以和distinct搭配进行去重运算
    4.和分组函数一同查询的字段,要求是group by后的字段
    */
    #1.简单使用
    SELECT SUM(salary) FROM employees;
    SELECT AVG(salary) FROM employees;
    SELECT MIN(salary) FROM employees;
    SELECT MAX(salary) FROM employees;
    SELECT COUNT(salary) FROM employees;
    SELECT SUM(salary) 和,ROUND(AVG(salary),2) 平均,MAX(salary) 最大,MIN(salary) 最小,COUNT(salary) 个数
    FROM employees;


    #2.count函数介绍
    SELECT COUNT(salary) FROM employees;
    SELECT COUNT(*) FROM employees; #任何列不为空即可被统计,查询表中总行数
    SELECT COUNT(1) FROM employees; #统计列为1的个数,实际在表中加了一列值为1的数据
    #效率:
    /*
    MYISAM存储引擎下,count(*)效率高
    INNODB存储引擎下,count(*)和count(1)的效率差不多,比count(字段)高一些
    一般使用count(*)用作统计行数
    */

    小测试:

      #1.查询公司员工工资的最大值,最小值,平均值和总和
      SELECT MAX(salary) 工资最大值,MIN(salary) 工资最小值,ROUND(AVG(salary),2) 平均工资,SUM(salary) 总和
      FROM employees;
      #2.查询员工表中的最大入职时间和最小入职时间的相差天数(DIFFERNECE)
      SELECT DATEDIFF(MAX(hiredate),MIN(hiredate)) AS Difference FROM employees;
      #3.查询部门编号为90的员工个数
      SELECT COUNT(*) FROM employees WHERE department_id = 90;





      如果你喜欢本文,
      请长按二维码,关注 潭时录.
      转发至朋友圈,是对我最大的支持。

      点个 在看 
      喜欢是一种感觉
      在看是一种支持
      ↘↘↘
      文章转载自潭时录,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

      评论