count():统计指定列不为NULL的记录行数;
max():计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;
min ():计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算
sum():计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0;
avg ():计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0;
count() 的使用: count() 和 count(1) 都代表所有;
查询employee表中记录数:select count() from employee;
查询员工表中有绩效的人数:select count(performent) from employee;
sum() 的使用:
查询所有雇员月薪和:select sum(salary) from employee;
查询所有雇员月薪和,以及所有雇员绩效和:select sum(salary),sum(parforment) from employee;
查询所有雇员月薪+绩效和:select sum(salary+ifnull(performance,0)) from employee;
avg() 的使用:
统计所有员工平均工资:select avg(salary) from employee;
max() 和 min() 的使用:
查询最高工资和最低工资:select max(salary),min(salary) from employee;
group by 和 group_concat() 分组查询
group by 和 distinct(去重)很像
什么是分组查询?
将查询结果按照1个或者多个字段进行分组,字段值相同的为1组(例如:有10个人,女的站一排,男的站一排,把男女进行分组); 例如:select gender from employee group by gender;
当group by 单独使用时,只显示出每组的第一条记录,所以单独使用group by 的意义不大,
分组注意事项:在使用分组时,select后面直接跟着的字段一般都在出现在group by后 例子1: 对name和gender同时进行分组 例如:select name,gender from employee group by gender,name;
group by + group_concat()
group_concat(字段名):可以作为一个输出字段来使用
表示分组之后,根据分组结果,使用group_concat()来 放置每一组的某字段的值的集合;
例如:在一组里面所有男性名字和女性名字
select gender,group_concat('name') from employee group by gender;
group by + 聚合函数
例如:查看部门平均薪资:selecct department,group_concat(salary),sum(salary) from employee group by department;
例如:查看每个部门的最高薪资:select department,group_concat(salary),max(salary) from employee group by department;
例如:查询每个部门的部门名称以及每个部门工资大于1500的人数 select name,salary from employee where salary>1500;
group by + having
用分组查询后指定一些条件来输出查询结果,having作用和where一样,但是having只能用于group by
HAVING和WHERE的区别?
(1).having是在分组后对数据进行过滤,where是在分组前对数据进行过滤;
(2).having后面可以使用分组函数(统计函数),where后面不可以使用分组函数;
(3).where是对分组前记录的条件,如果某行记录没有满足where子语句的条件,那么这行记录不参与分 组;having是对分组后的数据约束;
书写顺序:select --> from --> where --> group by --> having --> order by --> limit
执行顺序:from => where => group by => having => select => order by => limit
分页 LIMIT
从哪一行开始查,总共要查几行
LIMIT 参数1, 参数2
参数1:从哪一行开始查
参数2:一共要查几行,角标是从0开始
格式:select * from 表名 limit 0,5;
mysql 聚合函数和分组查询
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 2018.03.08刺猬打卡 1、新闻打卡 【北京进行网络净化】 这个话题我很喜欢,因为现在的时代社会科技社会网...
- 来源 / 益闻网 作者 / 陈淑华 ACE,是超人奥特曼兄弟中排行第五的艾斯·奥特曼,也是「超能力」最多的奥特曼…...