在线客服
扫描二维码
下载博学谷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基础知识内容大概分为数据类型、变量、字符串、语法四个部分,希望对大大家有所帮助。
7190
2019-08-07 13:18:42
Python入门什么程度才能找到工作?Python培训完好就业吗?
Python的火爆和就业前景,吸引了不少的学习者,那么Python入门什么程度才能找到工作?Python培训完好就业吗?就目前来说,熟练掌握Python和人工智能的技术更好就业。推荐大家报博学谷Python+人工智能在线就业班,相信大家学完整套课程找工作就不再是问题。
6635
2019-08-23 19:24:50
Python单行代码实现具体功能
众所周知Python编程语言应用广泛,组我诶一门优秀的编程特城的函数式编程语言,Python可以大大提高Python开发工程师编程速度并且改进软件质量。与此同时很多同学们都听说过Python编程语言易学易用,具体在那些方面有所体现呢?小编在这里为大家提供几条Python编程中单行代码就可以实现具体功能的案例。让大家对Python的强大有更深入的了解。
18124
2019-12-13 18:58:37
有编程基础Python自学行吗?
有编程基础Python自学入门更快,目前Python比较火爆,计算机基础越好对学习Python新的编程语言越有利。大学计算机专业C语言不是很好的入门语言,理解起来有些抽象。零基础学Python很容易上手,有一定的编程基础从零开始学习Python比零基础更容易些。
5587
2020-05-19 10:59:14
Python核心编程在线学习
Python核心编程在线学习的主要内容有:程序的输出、程序的输入、注释、操作符、变量和赋值、数字、字符串、列表和元组、字典、代码块及缩进对齐、if语句、while循环、文件和内建函数open()、file(),以及模块。赶紧一起来学习和梳理Python核心编程的相关内容吧!
5402
2020-07-13 16:58:47
