ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL从入门到精通之分组函数

2019-08-19 19:43:16  阅读:180  来源: 互联网

标签:salary 函数 分组 SELECT MySQL null myemployees 入门


请先导入myemployees数据库 执行SQL脚本文件导入数据库

:\color{blue}分组函数:分组函数:

功能:用作统计使用,又称为聚合函数或统计函数或组函数
常见函数:sum 求和、avg 平均值、max 最大值 、min 最小值 、count 计算个数
特点:
1、sum、avg一般用于处理数值型
   max、min、count可以处理任何类型
2、以上分组函数都忽略null值
3、可以和distinct搭配实现去重的运算
4、count函数,一般使用count(*)用作统计行数
5、和分组函数一同查询的字段要求是group by后的字段

1、简单使用

USE myemployees;
SELECT SUM(salary) '和',AVG(salary) '平均',MAX(salary) '最高',MIN(salary) '最低',COUNT(salary) '个数'
FROM employees;

在这里插入图片描述

2、是否忽略null

①、测试avg函数是否忽略null值

USE myemployees;
SELECT SUM(commission_pct) ,AVG(commission_pct),SUM(commission_pct)/35,SUM(commission_pct)/107 
FROM employees;

在这里插入图片描述
有上面的数据可知(只有35个员工有奖金),总和 / 35 = AVG,说明avg函数忽略null值。
②、测试min、max函数是否忽略null值

USE myemployees;
SELECT MAX(commission_pct) ,MIN(commission_pct) 
FROM employees;

在这里插入图片描述
如果max、min不忽略null值,则null必定是一个最值。但是有结果可知,null被忽略了。

3、与distinct去重进行搭配

USE myemployees;
SELECT SUM(DISTINCT salary),SUM(salary) 
FROM employees;

在这里插入图片描述

:\color{red}注意:分组函数不能和字段一起查询。注意:分组函数不能和字段一起查询。

USE myemployees;
#AVG(salary)结果只有一个值,而employee_id字段有很多个值
SELECT AVG(salary),employee_id  
FROM employees;

测试:

1、查询部门编号为90的员工个数

USE myemployees;
#COUNT计算个数
SELECT COUNT(*) 
FROM employees 
WHERE department_id = 90;

在这里插入图片描述
2、查询员工表中的最大入职时间和最小入职时间的相差天数
两个date类型相减的结果是小时,需要转换为天数

USE myemployees;
SELECT MAX(hiredate) '最晚', MIN(hiredate) '最早', (MAX(hiredate)-MIN(hiredate))/1000/3600/24 '天数差'
FROM employees;

在这里插入图片描述

以上便是5个常见的分组函数,各位看官给个关注或者点个赞呗!谢谢。

标签:salary,函数,分组,SELECT,MySQL,null,myemployees,入门
来源: https://blog.csdn.net/qq_41855420/article/details/99750663

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有