在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
Group by分组查询怎么用?需要掌握哪些内容?groub by分组将查询结果按照1个或多个字段进行分组,字段值相同的为一组,可用于单个字段分组也可用于多个字段分组。

学习目标:能够写出分组查询的SQL语句。
1. 分组查询是什么?
分组查询就是将查询结果按照指定字段进行分组,字段中数据相等的分为一组。分组查询基本的语法格式如下:
GROUP BY 列名 [HAVING 条件表达式] [WITH ROLLUP]
说明:
(1)列名: 是指按照指定字段的值进行分组。
(2)HAVING 条件表达式: 用来过滤分组后的数据。
(3)WITH ROLLUP:在所有记录的最后加上一条记录,显示select查询时聚合函数的统计和计算结果
2. group by的怎么使用?
group by可用于单个字段分组,也可用于多个字段分组:
-- 根据gender字段来分组
select gender from students group by gender;
-- 根据name和gender字段进行分组
select name, gender from students group by name, gender;
3. group by + group_concat()的使用
-- 根据gender字段进行分组, 查询gender字段和分组的name字段信息
select gender,group_concat(name) from students group by gender;
4. group by + 聚合函数的使用
-- 统计不同性别的人的平均年龄
select gender,avg(age) from students group by gender;
-- 统计不同性别的人的个数
select gender,count(*) from students group by gender;
5. group by + having的使用
having作用和where类似都是过滤数据的,但having是过滤分组数据的,只能用于group by
-- 根据gender字段进行分组,统计分组条数大于2的
select gender,count(*) from students group by gender having count(*)>2;
6. group by + with rollup的使用
with rollup的作用是:在最后记录后面新增一行,显示select查询时聚合函数的统计和计算结果
-- 根据gender字段进行分组,汇总总人数
select gender,count(*) from students group by gender with rollup;
-- 根据gender字段进行分组,汇总所有人的年龄
select gender,group_concat(age) from students group by gender with rollup;
7. 小结
group by 根据指定的一个或者多个字段对数据进行分组;
group_concat(字段名)函数是统计每个分组指定字段的信息集合;
聚合函数在和 group by 结合使用时, 聚合函数统计和计算的是每个分组的数据;
having 是对分组数据进行条件过滤;
with rollup在最后记录后面新增一行,显示select查询时聚合函数的统计和计算结果;
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
怎么学python入门?python新手学习路线
Python入门应该了解一些基本的计算机编程术语。Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言,Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。
7963
2019-06-11 15:41:03
零基础自学python3 好用的入门书籍推荐
零基础自学python3 好用的入门书籍推荐,博学谷小班整理了六本数,推荐阅读 《Python for data analysis》、《Python数据分析与挖掘实战》、《Python Cookbook》、《Python基础教程》、《Python 3程序开发指南》、《Python数据分析与挖掘实战》。
14432
2019-06-11 15:56:22
零基础学习Python秘籍
Python是一门应用极其广泛的编程语言,现在从中小学到高等教育都开始普及Python技术。越来越多零基础的同学想要紧跟时代潮流,开始学习Python。对于零基础的同学如何快速学习Python呢?
5732
2019-11-27 18:27:26
编程语言Python入门学习方法有哪些?
编程语言Python入门学习方法有哪些?不少人学Python编程由入门到放弃,主要原因就是大部分人没找到正确的学习方法。Python相比其他语言更简单易学,无论是对于广大学习者还是程序员,简单易学就拥有了最大的吸引力,那么如何找到适合自己的学习方法是大家关心的问题。
4656
2020-09-04 14:57:17
Ajax Web数据交互方式有什么作用?怎么用?
Ajax Web数据交互方式有什么作用?怎么用?Ajax 技术发送http请求获取后台服务器数据,Ajax的简写方式可以使用$.get和$.post方法来完成。AJAX 是开发者利器:不刷新页面更新网页;在页面加载后从服务器请求数据;在页面加载后从服务器接收数据;在后台向服务器发送数据。
4442
2022-01-07 15:35:04
