mysql基础(3)-高级查询
聚合函数
count 返回查询结果的条数
max 返回查询结果的最大值
min 返回查询结果的最小值
sum 返回查询结果的和
avg 返回查询结果的平均值
统计分数大于等于90的人数:
mysql> select count(*) from new_student
-> where score >="90";
![](https://images2015.cnblogs.com/blog/761429/201607/761429-20160729090612638-466808318.png)
使用distinct剔除字段值重复的条数
mysql> select count(distinct score) from new_student
-> where score >="90";
![](https://images2015.cnblogs.com/blog/761429/201607/761429-20160729090655872-1164306801.png)
统计最高分-max
mysql> select max(score) from new_student;
![](https://images2015.cnblogs.com/blog/761429/201607/761429-20160729090739356-653414530.png)
统计最低分-min
mysql> select min(score) from new_student;
mysql> select min(score) from new_student
-> where score >=60;
![](https://images2015.cnblogs.com/blog/761429/201607/761429-20160729090835669-408183962.png)
统计分数大于等于90的分数的和-sum
mysql> select sum(score) from new_student
-> where score >="90";
![](https://images2015.cnblogs.com/blog/761429/201607/761429-20160729090918341-464910428.png)
统计平均数-avg
mysql> select avg(score) from new_student
-> where score >="80";
![](https://images2015.cnblogs.com/blog/761429/201607/761429-20160729091001216-569081437.png)
分组查询
语法格式;
select [聚合函数] 字段名 from 表名
where 查询条件
group by 字段名
having 过滤条件
mysql> select score,count(*) from new_student
-> where score >=80
-> group by score;
![](https://images2015.cnblogs.com/blog/761429/201607/761429-20160729092807075-1268220991.png)
mysql> select score,count(*) from new_student
-> where score >=80
-> group by score
-> having score >=90;
注:having子语句与where子语句区别:前者在分组后对记录进行过滤,后者在分组前对记录进行过滤
![](https://images2015.cnblogs.com/blog/761429/201607/761429-20160729092922700-1803030376.png)
mysql> select score,count(*) from new_student
-> where score >=80
-> group by score
-> having score >=90
-> order by score desc;
![](https://images2015.cnblogs.com/blog/761429/201607/761429-20160729093052903-1023814140.png)
联合查询
语法格式
select 语句
union [all]
select 语句
...
注:联合查询结果使用第一个select语句中的字段名
mysql> select * from test_wl
-> union
-> select * from test_wu;
![](https://images2015.cnblogs.com/blog/761429/201607/761429-20160729095134575-1562279517.png)