工欲善其事必先利其器
文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。

求和:sum()
平均值:avg()
最小值:min()
最大值:max()
select avg(age) from student;
select max(age) from student;
select max(age),min(age) from student;
select sum(age) from student;
count()函数有三种写法,分别如下
count(*):可以准确地返回表中的全部记录数。
count(字段):统计不为null的所有数据量。
count(distinct 字段):去重后数据的数据量。
select count(*) from student;
select count(name) from student;
select count(distinct name) from student;
group by:分组统计函数
select avg(age) from student group by class;
select avg(age) from student group by add;
注意:如果查询的时候不使用group by语句,那么select子句中只允许出现统计函数,其它字段不允许出现。例如查询所有的学生数量,并且查询出学生的姓名这个是不允许的。
错误sql:select name,count() from student;
正确sel:select count() from student;
注意:如果使用group by语句,那么select子句中只允许出现group by语句的字段,其它的字段不允许出现。例如根据班级查询学生的总数,和所有的学生姓名是不允许的。
错误sql:select name,class,count() from student group by class;
正确sql:select class,count() from student group by class;
分组统计是可以和多表查询一起使用的。
select s.name,count(*) from student s,teacher t where s.id = t.sid group by s.name;
having是在group by语句之后执行的,所以进行group by分组后可以再根据having子句进行过滤
select class,avg(age) from student group by class having avg(age) > 10;
这里的相关内容还没有整理完毕,文章后面持续更新,建议收藏。
文章中涉及到的命令大家一定要像我一样每个都敲几遍,只有在敲的过程中才能发现自己对命令是否真正的掌握了。
可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。