Welcome To Jeremy's Blog --------------------------            JeremyYu

5.分组函数


1.分组函数

1 # 1.介绍:
2   用作统计使用,又称为聚合函数或统计函数或组函数
3 # 2.列举: 4   sum:求和 5   avg:均值 6   max:最大值 7   min:最小值 8   count:计算个数

 

返回顶部


2.分组函数的简单使用

1 # 1.对工资字段单次使用分组函数
2   select sum(salary)from employees;# 对所有员工的月薪求和
3   select avg(salary)from employees;# 对所有员工的月薪平均值
4   select min(salary)from employees;# 对所有员工中月薪的最小值
5   select max(salary)from employees;# 对所有员工中月薪的最大值
6   select count(salary)from employees;# 根据员工工资字段非空个数
7 # 2.对工资字段在一行语句中使用多个分组函数 8   select sum(salary)as工资和, avg(salary)as工资平均值, max(salary)as工资最大值, min(salary)as工资最小值, count(salary)as工资非空个数from employees;

 

返回顶部


3.分组函数的使用特点

  (1).参数支持类型: 

1 (1).sum, avg:一般处理数值型
2 (2).max/min, count:数值型与字符型,日期型(日期数字越大就越大)(所有类型)

 

  (2).是否忽略null值:分组函数统计都忽略null值

  (3).分组函数可以搭配distinct实现去重功能

    select sum(distinct salary) from employees; # 将所有员工工资进行去重后求和

  (4).count 函数详解:一般用count(*)统计行数

1 1).count承载一个字段:统计该字段非空个数
2 2).count承载一个*:统计总的行数,null也算上
3 3).count承载一个数字1:统计总的行数,相当于给表额外添加了一列,然后统计这一列的总行数
4 注意:(关于count的效率, MYISAM存储引擎下, count(*)效率最高; INNODB存储引擎下count(*)与count(1)效率差不多,都比count(字段名)效率高)

 

  (5).和分组函数一同查询的字段的限制要求一般是group_by后的字段(后续介绍)

返回顶部

posted on 2018-03-11 16:34  Jeremy_Yu  阅读(72)  评论(0)    收藏  举报

导航