MySQL基础6-分组查询
1.分组函数
需求20:查询所有商品平均零售价
SELECT AVG(salePrice) FROM product
需求21:查询商品总记录数
SELECT COUNT(id) count FROM product
需求22:查询分类为2的商品总数
SELECT COUNT(id) count FROM product WHERE dir_id=2;
需求23:查询商品的最小零售价,最高零售价,以及所有商品零售价总和
SELECT MIN(salePrice) 最小零售价,MAX(salePrice) 最高零售价,SUM(salePrice)零售价总和
FROM product
2.分组查询
栗子1:查询每个商品的分类编号和每个商品分类各自的平均零售价
SELECT dir_id,AVG(salePrice)
FROM product
GROUP BY dir_id;
栗子2:查询每个商品分类编号和每个商品分类各自的商品总数
SELECT dir_id,COUNT(id) FROM product GROUP BY dir_id;
栗子3:查询每个商品分类编号和每个商品分类中零售价大于100的商品总数
SELECT dir_id,COUNT(id) FROM product WHERE salePrice >100 GROUP BY dir_id;
3.HAVING子句(对分组之后的结果做过滤)
HAVING子句通常和GROUP BY子句一起使用,用来限制搜索条件。HAVING子句与组有关,不与单个值有关,它会作用于GROUP BY创建的组。
HAVING子句是可选的,不能单独使用,只能配合GROUP BY子句使用,作用是对GROUP BY子句设置条件,对统计后的结果进行限制。
栗子4:查询每个商品分类编号和每个商品分类中零售价大于100的商品总数,商品总数大于5的分类
SELECT dir_id,COUNT(id)
FROM product
WHERE salePrice >100
GROUP BY dir_id
HAVING COUNT(id)>5;
栗子5:查询零售价大于100的商品零售价总和大于1500的商品分类编号以及总零售价和
SELECT dir_id,SUM(salePrice) sum
FROM product
WHERE salePrice>100
GROUP BY dir_id
HAVING sum>1500
MySQL基础6-分组查询的更多相关文章
- MySQL:基础—数据分组
MySQL:基础-数据分组 1.为什么要分组: 比如一个表中有多条订单记录,如上图,每条记录对应着一个商品,现在我要查询 每个商品被订购的单数 准备出货?也就是找到每个商品被订购的数量. 如果只找一个 ...
- Mysql按时间段分组查询
Mysql按时间段分组查询来统计会员的个数,mysql个数 Mysql按时间段分组查询来统计会员的个数,mysql个数 1.使用case when方法(不建议使用)- 代码如下 复制代码SELECT ...
- Mysql:实现分组查询拼接未分组同一字段字符group_concat()
Mysql:实现分组查询拼接未分组同一字段字符group_concat() MySQL中,如果想实现将分组之后的多个数据合并到一列,可以使用group_concat函数,如下图所示: 在oralce中 ...
- mysql group by分组查询后 查询个数
mysql group by分组查询后 查询个数2个方法随便你选 <pre>select count(distinct colA) from table1;</pre>< ...
- MySQL基础架构之查询语句执行流程
这篇笔记主要记录mysql的基础架构,一条查询语句是如何执行的. 比如,在我们从student表中查询一个id=2的信息 select * from student where id=2; 在解释这条 ...
- mysql按照时间分组查询
mysql 按年.月.周.日分组查询 1.按照年份分组查询 SELECT DATE_FORMAT(t.bill_time,'%Y') month_time,sum(t.pay_price) total ...
- Mysql学习总结(23)——MySQL统计函数和分组查询
1.使用count统计条数:select count(字段名...) from tablename; 2.使用avg计算字段的平均值:select avg(字段名) from tablename: 这 ...
- mysql group by分组查询
分组的SQL语句有2个: group by 和分组聚合函数实现 partition by (oracle和postgreSQL中的语句)功能 group by + having 组合赛选数据 注意:h ...
- Mysql按时间段分组查询来统计会员的个数
1.使用case when方法(不建议使用)- 代码如下 复制代码 SELECT COUNT(DISTINCT user_id) user_count, CASE WHEN cre ...
随机推荐
- vue实现pdf导出,解决生成canvas模糊等问题
最近公司项目需要,利用vue实现pdf导出,从而保存到本地打印出来,说起来好像也很容易,具体要怎么实现呢? 1 .我们要添加两个模块 第一个.将页面html转换成图片 npm install --sa ...
- JavaWeb前端笔记
day06 回顾: bootstrap: css框架,html/css/js集于一身,ie 6/7/8兼容有问题 开发响应式页面,使用于不同的上网设备 使用步骤: 1.导入bootstrap.css ...
- C# 获取文件夹下所有的文件
static void getAllFileNameInDir(string path, ref List<string> files) { DirectoryInfo folder = ...
- SpringBoot的核心功能
1.独立运行的Spring项目 SpringBoot可以以jar包的形式独立运行,运行一个SpringBoot项目只需要通过java -jar xx.jar来启动. 2.内嵌Servlet容器 Spr ...
- 避免使用 JS 特性 with(obj){}
1)简要说明 with 语句可以方便地用来引用某个特定对象中已有的属性,但是不能用来给对象添加属性.要给对象创建新的属性,必须明确地引用该对象. 2)语法格式 with(object ...
- Java Web报错:getOutputStream() has already been called for this response解决方案
今天做了个导出excel表的功能.大概代码如下: ouputStream = response.getOutputStream(); wb.write(ouputStream); ouputStrea ...
- 6.3安装squid
1. Frist you need to install Development tools #yum groupinstall "Development Tools" 2. Ge ...
- 2018.6.5 Oracle plsql编程 游标的使用
--3.查询10部门所有员工的姓名.(ref游标实现) 动态游标 declare --创建一种游标类型 type type_cursor is ref cursor; --声明变量指定游标类型 v_c ...
- SSM框架之动态代理Mapper快速搭建
1. 新建Maven项目 ssmnew 2. pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" ...
- char的有无符号类型
char 分为有符号性(signed)和无符号型(unsigned)两种: Ø若是signed型,就意味着取值范围为[-128,127]: Ø若是unsigned型,就意味着取值范围为[0,255]: ...