🕶️师兄简介:机械专业,通过自学成功进入IT领域,求学期间实现经济独立,对自学、兼职、计算机、学习规划等有独到见解!「点击了解更多」
🤖师兄致力解决在大学生活与学习中遇到的各种问题.
🎁 公众号「渣师兄」内回复「渣学」可获得超 5T 的新生见面礼!
🔗官方网站: 渣学网 →「zhaxueit.cn」→ 大学生活与学习一站式解决方案.
🙏找师兄帮忙「无偿」请➕💓:zhaxueit
📓进资源群「每日分享」【免费】(坑位有限)也请➕💓:zhaxueit 并备注「进群」
👀个人主页:@渣师兄 ,欢迎关注、私信师兄!
🐐 登高必自卑,行远必自迩.
🍇 我始终坚信越努力越幸运
⭐️ 那些打不倒我们的终将会让我们变得强大
🍑 希望在编程道路上深耕的小伙伴都会越来越好
grep分组【重点】
分组关键字是什么?
答:分组关键字是 group by 类似于 order by 以及 where
对数据的分组
功能:将数据表内的某一个字段的所有数据进行分组(分类),有便于聚合函数计算统计
语法:
1:select gender from classes group by gender;表示将gender这个字段内数据进行分组(去重复)
2:select gender ,count(*)from classes group by gender;表示将gender这个字段内数据进行分组(去重复),并且计算每一个分组的人数(数量)
3:select gender,max(new_age) from classes group by gender ;表示按照gender进行分组然后查找这些分组内new_age字段中的最大值打印
注意事项:在写分组语法的时候 select 后面的字段必须是 group by 后面那个字段或者是聚合函数字段
快速代码体验:
语法1
语法2
group by + group_concat 的功能以及使用方法
功能:对分组之后的数据的某个字段的所有数据进行拼接
语法:
1:select gender ,count(), group_concat(name) from classes group by gender;
表示按照 gender 字段进行分组后,显示每个分组内有几行数据(count(*))并将分组后的数据的name字段内的所有数据进行拼接显示出来
快速代码体验:
group by + having 的功能以及使用方法及其注意事项
功能:一个数据表内的数据进行group by 分组后,在按照一定条件查询数据就要使用 having 关键字,而不能使用 where关键字了
语法:
1:select gender , avg(new_age) as avg ,group_concat(name) from classes group by gender having avg > 18 ;
表示按照gender进行分组后查询所有分组后数据的年龄平均值以及所有name字段的拼接字符串,在查询平均年龄大于18的数据
注意事项:
1:where关键字只能用在 group by 关键字前面,而having关键字只能用在group by 关键字前面
2:order by 关键字也只能放在 group by 关键字后面
3:where与having关键字的功能相同,都是按照某个条件查询数据
快速代码体验