原文链接:https://www.cnblogs.com/snsdzjlz320/p/5738226.html

group by

(1) group by的含义:将查询结果按照1个或多个字段进行分组,字段值相同的为一组
(2) group by可用于单个字段分组,也可用于多个字段分组

  1. select * from employee;
  2. +------+------+--------+------+------+-------------+
  3. | num | d_id | name | age | sex | homeaddr |
  4. +------+------+--------+------+------+-------------+
  5. | 1 | 1001 | 张三 | 26 | | beijinghdq |
  6. | 2 | 1002 | 李四 | 24 | | beijingcpq |
  7. | 3 | 1003 | 王五 | 25 | | changshaylq |
  8. | 4 | 1004 | Aric | 15 | | England |
  9. +------+------+--------+------+------+-------------+

  10. select * from employee group by d_id,sex;

  11. select * from employee group by sex;
  12. +------+------+--------+------+------+------------+
  13. | num | d_id | name | age | sex | homeaddr |
  14. +------+------+--------+------+------+------------+
  15. | 2 | 1002 | 李四 | 24 | | beijingcpq |
  16. | 1 | 1001 | 张三 | 26 | | beijinghdq |
  17. +------+------+--------+------+------+------------+
  18. 根据sex字段来分组,sex字段的全部值只有两个('男''女'),所以分为了两组
  19. group by单独使用时,只显示出每组的第一条记录
  20. 所以group by单独使用时的实际意义不大

group by + group_concat()

(1) group_concat(字段名)可以作为一个输出字段来使用,
(2) 表示分组之后,根据分组结果,使用group_concat()来放置每一组的某字段的值的集合

  1. select sex from employee group by sex;
  2. +------+
  3. | sex |
  4. +------+
  5. | |
  6. | |
  7. +------+
  8.  
  9. select sex,group_concat(name) from employee group by sex;
  10. +------+--------------------+
  11. | sex | group_concat(name) |
  12. +------+--------------------+
  13. | | 李四 |
  14. | | 张三,王五,Aric |
  15. +------+--------------------+
  16.  
  17. select sex,group_concat(d_id) from employee group by sex;
  18. +------+--------------------+
  19. | sex | group_concat(d_id) |
  20. +------+--------------------+
  21. | | 1002 |
  22. | | 1001,1003,1004 |
  23. +------+--------------------+

group by + 集合函数

(1) 通过group_concat()的启发,我们既然可以统计出每个分组的某字段的值的集合,那么我们也可以通过集合函数来对这个"值的集合"做一些操作

  1. select sex,group_concat(age) from employee group by sex;
  2. +------+-------------------+
  3. | sex | group_concat(age) |
  4. +------+-------------------+
  5. | | 24 |
  6. | | 26,25,15 |
  7. +------+-------------------+

  8. 分别统计性别为男/女的人年龄平均值
  9. select sex,avg(age) from employee group by sex;
  10. +------+----------+
  11. | sex | avg(age) |
  12. +------+----------+
  13. | | 24.0000 |
  14. | | 22.0000 |
  15. +------+----------+

  16. 分别统计性别为男/女的人的个数
  17. select sex,count(sex) from employee group by sex;
  18. +------+------------+
  19. | sex | count(sex) |
  20. +------+------------+
  21. | | 1 |
  22. | | 3 |
  23. +------+------------+

group by + having

(1) having 条件表达式:用来分组查询后指定一些条件来输出查询结果
(2) having作用和where一样,但having只能用于group by

  1. select sex,count(sex) from employee group by sex having count(sex)>2;
  2. +------+------------+
  3. | sex | count(sex) |
  4. +------+------------+
  5. | | 3 |
  6. +------+------------+

group by + with rollup

(1) with rollup的作用是:在最后新增一行,来记录当前列里所有记录的总和

  1. select sex,count(age) from employee group by sex with rollup;
  2. +------+------------+
  3. | sex | count(age) |
  4. +------+------------+
  5. | | 1 |
  6. | | 3 |
  7. | NULL | 4 |
  8. +------+------------+
  9.  
  10. select sex,group_concat(age) from employee group by sex with rollup;
  11. +------+-------------------+
  12. | sex | group_concat(age) |
  13. +------+-------------------+
  14. | | 24 |
  15. | | 26,25,15 |
  16. | NULL | 24,26,25,15 |
  17. +------+-------------------+

Python--day46--分组(看了别人博客掌握的)的更多相关文章

  1. [Python爬虫笔记][随意找个博客入门(一)]

    [Python爬虫笔记][随意找个博客入门(一)] 标签(空格分隔): Python 爬虫 2016年暑假 来源博客:挣脱不足与蒙昧 1.简单的爬取特定url的html代码 import urllib ...

  2. python实现的文本编辑器 - Skycrab - 博客频道 - CSDN.NET

    Download Qt, the cross-platform application framework | Qt Project Qt 5.2.1 for Windows 64-bit (VS 2 ...

  3. python—webshell_醉清风xf_新浪博客

    python—webshell_醉清风xf_新浪博客 python—webshell (2012-05-23 09:55:46) 转载▼

  4. python 全栈开发,Day83(博客系统子评论,后台管理,富文本编辑器kindeditor,bs4模块)

    一.子评论 必须点击回复,才是子评论!否则是根评论点击回复之后,定位到输入框,同时加入@评论者的用户名 定位输入框 focus focus:获取对象焦点触发事件 先做样式.点击回复之后,定位到输入框, ...

  5. python 全栈开发,Day81(博客系统个人主页,文章详情页)

    一.个人主页 随笔分类 需求:查询当前站点每一个分类的名称以及对应的文章数 完成这个需求,就可以展示左侧的分类 它需要利用分组查询,那么必须要会基于双下划线的查询. 基于双下划线的查询,简单来讲,就是 ...

  6. php小白和菜鸟 上班路上可以看的修行博客

    上班地铁 公交上我们不要去追剧 不要去打游戏 不要看看有效性的海量新闻, 我们需要去技术博客里遨游, 下面就推荐点与php有关的可以学习的技术博客; 大部分程序员在自学的道路上不知道走了多少坑,这个视 ...

  7. Python爬虫,看看我最近博客都写了啥,带你制作高逼格的数据聚合云图

    转载请标明出处: http://blog.csdn.net/forezp/article/details/70198541 本文出自方志朋的博客 今天一时兴起,想用python爬爬自己的博客,通过数据 ...

  8. Python+爬虫+xlwings发现CSDN个人博客热门文章

    ☞ ░ 前往老猿Python博文目录 ░ 一.引言 最近几天老猿博客的访问量出现了比较大的增长,从常规的1000-3000之间波动的范围一下子翻了将近一倍,粉丝增长从日均10-40人也增长了差不多一倍 ...

  9. Hello Python!用 Python 写一个抓取 CSDN 博客文章的简单爬虫

    网络上一提到 Python,总会有一些不知道是黑还是粉的人大喊着:Python 是世界上最好的语言.最近利用业余时间体验了下 Python 语言,并写了个爬虫爬取我 csdn 上关注的几个大神的博客, ...

随机推荐

  1. DirectX11笔记(二)--Direct3D初始化1之基本概念

    原文:DirectX11笔记(二)--Direct3D初始化1之基本概念 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010333737/art ...

  2. PYTHON网络爬虫与信息提取[scrapy框架应用](单元十、十一)

    scrapy 常用命令 startproject  创建一个新的工程 scrapy startproject <name>[dir] genspider    创建一个爬虫         ...

  3. oracle-OFA模型

    用于unix文件系统和安装点的命名约定 用于目录路径的命名约定 用于数据文件的命名约定 用于oracle相关文件的标准位置

  4. typroa 和markdown基操

    目录 标题 一级标题 二级标题 字体 图片 来插入图片,如在同意文件夹上,可直接加图片名 数学公式 编辑表格 标题 一级标题 二级标题 三级标题 无序标题 *加空格,无序标题 也可以使用ctrl = ...

  5. Effective Modern C++:04智能指针

    裸指针有着诸多缺点:裸指针的声明中看不出它指向的是单个对象还是数组:裸指针的声明中也无法看出使用完它指向的对象后是否需要删除,也就是声明中看不出裸指针是否拥有其指向的对象:即使知道要析构裸指针指向的对 ...

  6. @划水记@ THUWC2020 (?)

    目录 @day -1@ @day 0@ @day 1@ @day 2@ @day 2+@ @day 3@ @day ?@ @day -1@ 听闻 THUWC 在 12 月举行的消息,突然就停了大概一周 ...

  7. UVA_10055:Hashmat the brave warrior

    Language:C++ 4.8.2 #include<stdio.h> int main(void) { long long int a, b; while(scanf("%l ...

  8. C++模板编译模型

    一:传统的编译模型 使用C/C++进行编程时,一般会使用头文件以使定义和声明分离,并使得程序以模块方式组织.将函数声明.类的定义放在头文件中,而将函数实现以及类成员函数的定义放在独立的文件中. 但是对 ...

  9. 洛谷P2512 [HAOI2008]糖果传递

    //不开long long见祖宗!!! #include<bits/stdc++.h> using namespace std; long long n,ans,sum; ],s[]; i ...

  10. 从遇见到信任 | Apache Dubbo 的毕业之旅

    所谓信任,就是多一次机会. 2018年2月16日,Apache Dubbo 加入 Apache 基金会孵化器. ... 2019年5月16日,Apache 软件基金会董事会决议通过了 Apache D ...