由浅入深学MYSQL之--MySQL分组查询详解
前言
从今天开始本系列文内容就带各位小伙伴学习数据库技术。数据库技术是Java开发中必不可少的一部分知识内容。也是非常重要的技术。本系列教程由浅入深, 全面讲解数据库体系。 非常适合零基础的小伙伴来学习。
全文大约 【1066】字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富案例及配图,让你更好的理解和运用文中的技术概念,并可以给你带来具有足够启迪的思考......
一. 分组查询
分组这个概念各位小伙伴就可以理解成排队。例如:在学校操场上学员排队,不分组的情况下就是一队,里面既有男生也有女生。如果按照性别分组,那么就是男生排一队,女生排一队。这就是分组的概念。
这个例子各位小伙伴是否理解了呢?那我们接着看下面的内容:
语法:SELECT 列名 FROM 表名 WHERE 条件 GROUP BY 分组依据(列);
关键字 | 说明 |
---|---|
GROUP BY | 分组依据,必须在 WHERE 之后生效 |
各位小伙伴语法是否看懂了呢?下面健哥带大家实战一番吧,也顺便理解分组的使用。
1. 查询男女人数
#思路:
#1.先按照性别进行分组
#2.再针对各性别的人数进行统计
SELECT Ssex,COUNT(*) as 'sex_count' FROM student GROUP BY Ssex
2. 查询男女的平均年龄
#思路:
#1.按照性别进行分组
#2.针对年龄字段算平均值
SELECT Ssex,AVG(Sage) as 'sage_avg' FROM student GROUP BY Ssex
3.常见问题
# 查询男女的平均年龄
SELECT Ssex,AVG(Sage) as 'sage_avg' FROM student GROUP BY Ssex
注:分组查询中,select显示的列只能是分组依据列,或者聚合函数列,不能出现其他列。
二. 结语
最后在这里对本文核心要点进行总结:
分组查询其实就相当于排队,由原来的一队按照指定的列排成多个队列。需要各位小伙伴熟练掌握和理解使用。
在分组查询中SELECT关键字后面只能跟分组的列名或者使用聚合函数进行统计,写其他列名无效,并且查询出来的结果也没有意义,这点一定要注意哦。
分组GROUP BY后面可以是一个列名,也可以是多个,如果是多个列按照多个列先后顺序进行分组。