MySQL(python开辟)——(1)数据库概述及其MySQL先容
MySQL(python开辟)——(2)数据库根本操作及数据类型
MySQL(python开辟)——(3)表数据的根本操作,增删改查
MySQL(python开辟)——(4)高级查询语句
MySQL
聚合操作
聚合操作指的是在数据查找基础上对数据的进一步整理筛选行为,实际上聚合操作也属于数据的查询筛选范围。
1 .聚合函数
方法功能avg(字段名)该字段的平均值max(字段名)该字段的最大值min(字段名)该字段的最小值sum(字段名)该字段全部记录的和count(字段名)统计该字段记录的个数 eg1 : 找出表中的最大攻击力的值?
- select max(attack) from sanguo;
复制代码 eg2 : 表中共有多少个英雄?
- select count(name) as number from sanguo;
复制代码 eg3 : 蜀国英雄中攻击值大于200的英雄的数量
- select count(*) from sanguo where attack > 200;
复制代码 注意: 此时select 后只能写聚合函数,无法查找其他字段,除非该字段值全都一样。
2 .聚合分组
给查询的效果举行分组
e.g. : 计算每个国家的平均攻击力
- select country,avg(attack) from sanguo group by country;
复制代码 e.g. : 对多个字段创建分组,此时多个字段都雷同时为一组
- --统计每个国家男性英雄和女性英雄的平均攻击力
- select country,gender,avg(attack) from sanguo
- group by country,gender;
复制代码 e.g. : 全部国家的男英雄中 英雄数量最多的前2名的 国家名称及英雄数量
- select country,count(id) as number from sanguo
- where gender='男' group by country
- order by number DESC
- limit 2;
复制代码 注意: 使用分组时select 后的字段为group by分组的字段和聚合函数,不能包含其他内容。group by也可以同时依照多个字段分组,如group by A,B 此时必须A,B两个字段值均雷同才算一组。
3. 聚合筛选
对分组聚合后的效果举行进一步筛选
- --统计平均攻击力大于250的国家的英雄数量
- select country,count(*) from sanguo
- group by country
- having avg(attack)>250;
复制代码 注意
- having语句通常与group by联合使用作为组的筛选。
- having语句存在弥补了where关键字不能与聚合函数联合使用的不足,where只能操作表中实际存在的字段。
4. 去重语句
不表现字段重复值
- eg1 : 表中都有哪些国家
- select distinct country from sanguo;
- eg2 : 计算一共有多少个国家
- select count(distinct country) from sanguo;
复制代码 注意: distinct和from之间全部字段都雷同才会去重
- 聚合练习
- 1. 统计每位作家出版图书的平均价格
- 2. 统计每个出版社出版图书数量
- 3. 统计同一时间出版图书的最高价格和最低价格
- 4. 筛选出那些出版过超过50元图书的出版社,并按照其出版图书的平均价格降序排序
- 1. 统计每位作家出版图书的平均价格
- select author,avg(price) from books
- group by author;
- 2. 统计每个出版社出版图书数量
- select press,count(*) from books
- group by press;
- 3. 统计同一时间出版图书的最高价格和最低价格
- select p_time,max(price),min(price) from books
- group by p_time;
- 4. 筛选出那些出版过超过50元图书的出版社,
- 并按照其出版图书的平均价格降序排序
- select press,avg(price) from books
- group by press
- having max(price) > 50
- order by avg(price) desc;
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |