Python--day46--分组(看了别人博客掌握的)
原文链接:https://www.cnblogs.com/snsdzjlz320/p/5738226.html
group by
(1) group by的含义:将查询结果按照1个或多个字段进行分组,字段值相同的为一组
(2) group by可用于单个字段分组,也可用于多个字段分组
- select * from employee;
- +------+------+--------+------+------+-------------+
- | num | d_id | name | age | sex | homeaddr |
- +------+------+--------+------+------+-------------+
- | 1 | 1001 | 张三 | 26 | 男 | beijinghdq |
- | 2 | 1002 | 李四 | 24 | 女 | beijingcpq |
- | 3 | 1003 | 王五 | 25 | 男 | changshaylq |
- | 4 | 1004 | Aric | 15 | 男 | England |
- +------+------+--------+------+------+-------------+
select * from employee group by d_id,sex;
select * from employee group by sex;- +------+------+--------+------+------+------------+
- | num | d_id | name | age | sex | homeaddr |
- +------+------+--------+------+------+------------+
- | 2 | 1002 | 李四 | 24 | 女 | beijingcpq |
- | 1 | 1001 | 张三 | 26 | 男 | beijinghdq |
- +------+------+--------+------+------+------------+
- 根据sex字段来分组,sex字段的全部值只有两个('男'和'女'),所以分为了两组
- 当group by单独使用时,只显示出每组的第一条记录
- 所以group by单独使用时的实际意义不大
group by + group_concat()
(1) group_concat(字段名)可以作为一个输出字段来使用,
(2) 表示分组之后,根据分组结果,使用group_concat()来放置每一组的某字段的值的集合
- select sex from employee group by sex;
- +------+
- | sex |
- +------+
- | 女 |
- | 男 |
- +------+
- select sex,group_concat(name) from employee group by sex;
- +------+--------------------+
- | sex | group_concat(name) |
- +------+--------------------+
- | 女 | 李四 |
- | 男 | 张三,王五,Aric |
- +------+--------------------+
- select sex,group_concat(d_id) from employee group by sex;
- +------+--------------------+
- | sex | group_concat(d_id) |
- +------+--------------------+
- | 女 | 1002 |
- | 男 | 1001,1003,1004 |
- +------+--------------------+
group by + 集合函数
(1) 通过group_concat()的启发,我们既然可以统计出每个分组的某字段的值的集合,那么我们也可以通过集合函数来对这个"值的集合"做一些操作
- select sex,group_concat(age) from employee group by sex;
- +------+-------------------+
- | sex | group_concat(age) |
- +------+-------------------+
- | 女 | 24 |
- | 男 | 26,25,15 |
- +------+-------------------+
分别统计性别为男/女的人年龄平均值- select sex,avg(age) from employee group by sex;
- +------+----------+
- | sex | avg(age) |
- +------+----------+
- | 女 | 24.0000 |
- | 男 | 22.0000 |
- +------+----------+
分别统计性别为男/女的人的个数- select sex,count(sex) from employee group by sex;
- +------+------------+
- | sex | count(sex) |
- +------+------------+
- | 女 | 1 |
- | 男 | 3 |
- +------+------------+
group by + having
(1) having 条件表达式:用来分组查询后指定一些条件来输出查询结果
(2) having作用和where一样,但having只能用于group by
- select sex,count(sex) from employee group by sex having count(sex)>2;
- +------+------------+
- | sex | count(sex) |
- +------+------------+
- | 男 | 3 |
- +------+------------+
group by + with rollup
(1) with rollup的作用是:在最后新增一行,来记录当前列里所有记录的总和
- select sex,count(age) from employee group by sex with rollup;
- +------+------------+
- | sex | count(age) |
- +------+------------+
- | 女 | 1 |
- | 男 | 3 |
- | NULL | 4 |
- +------+------------+
- select sex,group_concat(age) from employee group by sex with rollup;
- +------+-------------------+
- | sex | group_concat(age) |
- +------+-------------------+
- | 女 | 24 |
- | 男 | 26,25,15 |
- | NULL | 24,26,25,15 |
- +------+-------------------+
Python--day46--分组(看了别人博客掌握的)的更多相关文章
- [Python爬虫笔记][随意找个博客入门(一)]
[Python爬虫笔记][随意找个博客入门(一)] 标签(空格分隔): Python 爬虫 2016年暑假 来源博客:挣脱不足与蒙昧 1.简单的爬取特定url的html代码 import urllib ...
- python实现的文本编辑器 - Skycrab - 博客频道 - CSDN.NET
Download Qt, the cross-platform application framework | Qt Project Qt 5.2.1 for Windows 64-bit (VS 2 ...
- python—webshell_醉清风xf_新浪博客
python—webshell_醉清风xf_新浪博客 python—webshell (2012-05-23 09:55:46) 转载▼
- python 全栈开发,Day83(博客系统子评论,后台管理,富文本编辑器kindeditor,bs4模块)
一.子评论 必须点击回复,才是子评论!否则是根评论点击回复之后,定位到输入框,同时加入@评论者的用户名 定位输入框 focus focus:获取对象焦点触发事件 先做样式.点击回复之后,定位到输入框, ...
- python 全栈开发,Day81(博客系统个人主页,文章详情页)
一.个人主页 随笔分类 需求:查询当前站点每一个分类的名称以及对应的文章数 完成这个需求,就可以展示左侧的分类 它需要利用分组查询,那么必须要会基于双下划线的查询. 基于双下划线的查询,简单来讲,就是 ...
- php小白和菜鸟 上班路上可以看的修行博客
上班地铁 公交上我们不要去追剧 不要去打游戏 不要看看有效性的海量新闻, 我们需要去技术博客里遨游, 下面就推荐点与php有关的可以学习的技术博客; 大部分程序员在自学的道路上不知道走了多少坑,这个视 ...
- Python爬虫,看看我最近博客都写了啥,带你制作高逼格的数据聚合云图
转载请标明出处: http://blog.csdn.net/forezp/article/details/70198541 本文出自方志朋的博客 今天一时兴起,想用python爬爬自己的博客,通过数据 ...
- Python+爬虫+xlwings发现CSDN个人博客热门文章
☞ ░ 前往老猿Python博文目录 ░ 一.引言 最近几天老猿博客的访问量出现了比较大的增长,从常规的1000-3000之间波动的范围一下子翻了将近一倍,粉丝增长从日均10-40人也增长了差不多一倍 ...
- Hello Python!用 Python 写一个抓取 CSDN 博客文章的简单爬虫
网络上一提到 Python,总会有一些不知道是黑还是粉的人大喊着:Python 是世界上最好的语言.最近利用业余时间体验了下 Python 语言,并写了个爬虫爬取我 csdn 上关注的几个大神的博客, ...
随机推荐
- DirectX11笔记(二)--Direct3D初始化1之基本概念
原文:DirectX11笔记(二)--Direct3D初始化1之基本概念 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010333737/art ...
- PYTHON网络爬虫与信息提取[scrapy框架应用](单元十、十一)
scrapy 常用命令 startproject 创建一个新的工程 scrapy startproject <name>[dir] genspider 创建一个爬虫 ...
- oracle-OFA模型
用于unix文件系统和安装点的命名约定 用于目录路径的命名约定 用于数据文件的命名约定 用于oracle相关文件的标准位置
- typroa 和markdown基操
目录 标题 一级标题 二级标题 字体 图片 来插入图片,如在同意文件夹上,可直接加图片名 数学公式 编辑表格 标题 一级标题 二级标题 三级标题 无序标题 *加空格,无序标题 也可以使用ctrl = ...
- Effective Modern C++:04智能指针
裸指针有着诸多缺点:裸指针的声明中看不出它指向的是单个对象还是数组:裸指针的声明中也无法看出使用完它指向的对象后是否需要删除,也就是声明中看不出裸指针是否拥有其指向的对象:即使知道要析构裸指针指向的对 ...
- @划水记@ THUWC2020 (?)
目录 @day -1@ @day 0@ @day 1@ @day 2@ @day 2+@ @day 3@ @day ?@ @day -1@ 听闻 THUWC 在 12 月举行的消息,突然就停了大概一周 ...
- 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 ...
- C++模板编译模型
一:传统的编译模型 使用C/C++进行编程时,一般会使用头文件以使定义和声明分离,并使得程序以模块方式组织.将函数声明.类的定义放在头文件中,而将函数实现以及类成员函数的定义放在独立的文件中. 但是对 ...
- 洛谷P2512 [HAOI2008]糖果传递
//不开long long见祖宗!!! #include<bits/stdc++.h> using namespace std; long long n,ans,sum; ],s[]; i ...
- 从遇见到信任 | Apache Dubbo 的毕业之旅
所谓信任,就是多一次机会. 2018年2月16日,Apache Dubbo 加入 Apache 基金会孵化器. ... 2019年5月16日,Apache 软件基金会董事会决议通过了 Apache D ...