MySql(七)常见分组函数

分组函数

作用:用作统计使用,又称作聚合函数或组函数

常见分组函数如下:

1. sum()求和

2. avg()平均值

3. min()最小值

4.max()最大值

5.count():计算非空的数据个数

注:

  1. sum() 和avg()一般只适用于处理数值型的数据;min()、max()和count()适用于数值型、字符型和日期型的数据。
  2. 以上五种常见的分组函数都忽略null值,即null不参与运算
  3. 都可以和distinct关键字搭配使用,从而达到去重的目的
/**计算工资不重复的总和**/
SELECT SUM( DISTINCT salary) FROM employees;
/**计算工资的最大值**/
SELECT MAX(salary) FROM employees;
/**计算表中所有行不为null的个数**/
SELECT COUNT(*) FROM employees;
/**相当于在表中增加了一列值为1的数据,统计1的个数即统计表中所有行**/
SELECT COUNT(1) FROM employees;
SELECT COUNT(2) FROM employees;
SELECT COUNT('常量') FROM employees;

使用分组函数的注意事项:

/**此条语句不合法:工资的平均值是所有员工的得到的结果只有一个值;而员工编号是每一位员工都有的,结果是多个因而这两者组成的表示一个不规则的表**/
SELECT AVG(salary),employee_id From employees;

和分组函数一同查询到字段要求是group by后面的字段,其他的都不可以

/**1.查询员工表中员工工资的最大值、最小值、平均值,总和**/
SELECT MAX(salary),MAX(salary),MIN(salary),AVG(salary),SUM(salary) FROM employees;
/**2.要求在题1的基础上平均值保留两位小数**/
SELECT ROUND(AVG(salary),2)ROM employees;
/**3.查询员工表中最大入职时间和最小入职时间的相差天数**/
SELECT DATEDIFF(MAX(hiredate),MIN(hiredate));

你可能感兴趣的:(MySql)