DQL-高级查询(以学生表为例)
一、排序查询
1、查询所有的学生,按成绩进行排序。(asc-升序,desc降序)
2、查询姓名有七的学生信息并且按价格降序排序
二、聚合函数
对一列进行计算 返回值是一个,忽略null值
*sum(),avg(),max(),min(),count();
1、获取所有学生成绩的总和
select sum(sgrade) from students;
2、获取学生表中成绩的平均数
select avg(sgrade) from students;
round(值,保留位数)
select round(avg(sgrade),2) from students;
3、获得学生表中有多少条记录
select count(*) from students;
三、分组:使用group by(在where后 order by 前)
1、根据sclass字段分组,分组后统计学生的个数
select sclass,count(*) from students group by sclass;
2、根据sclass分组,分组统计每组学生的总数量,并且总数量大于20
第一步:select sclass,sum(sgrade) from students group by sclass;
第二步 : select sclass,sum(sgrade) from students group by sclass having sum(sgrade)>20;
注意:
where 和 having区别:
1、where是对分组前的数据进行过滤, having是对分组后的数据进行过滤
2、where后面不能使用聚合函数,having 可以
备注:由于个人原因,本博客暂停更新。如有问题可联系本人,本人提供技术指导、学习方向、学习路线。本人微信wlp1156107728(添加注明来意) QQ1156107728(添加注明来意)