MySQL--操作简记(汇总数据(聚集函数),分组数据,子查询)
来源:互联网 发布:三国群英传2 mac版本 编辑:程序博客网 时间:2024/06/14 08:31
表order1中的数据:
汇总数据
1.聚集函数
聚集函数:运行在行组上,计算和返回单个值的函数。
SQL聚集函数
SELECT AVG(order_price) AS avg_priceFROM order1;
返回表order1 中order_price一列的平均值
2.聚集不同值
像最开始的表里一样,价格有许多重复的,如果只想把不同的值加起来求平均值该怎么办?这就用到了之前博客中提到的DISTINCT
SELECT AVG(DISTINCT order_price) AS avg_priceFROM order1;
3.组合聚集函数
SELECT语句可以根据需要包含多个聚集函数
SELECT COUNT(*)AS num, MAX(order_price) AS max_price AVG(order_price) AS avg_priceFROM order1;
————————————————————————————————————————————————————————
————————————————————————————————————————————————————————
分组数据
为了讲解分组数据,先把表order1做一些变动:
加入一列name
1.创建分组
- GROUP BY
假设要根据name统计供应商提供的产品
SELECT order_name, COUNT(*)AS numFROM order1GROUP BY order_name;
group by按照order_name分组,即a为一组,b为一组,count的统计也不是对整张表进行操作,而是在每个分组内进行统计
使用GROUP BY的规定
【1】GROUP BY子句可以包含任意数目的列。
【2】如果在GROUP BY子句中嵌套了分组,数据将在最后规定的分组上进行汇总。
【3】GROUP BY子句中列出的每个列都必须是检索列或有效的表达式(但不能是聚集函数)。如果select中使用表达式,则GROUP BY子句中必须指定相同的表达式,不能使用别名。
【4】除聚集函数之外,select语句中的每个列都必须在GROUP BY子句中给出。
【5】如果分组中具有NULL值,则NULL将作为一个分组返回。如果列中有多行NULL值,分为一个组。
【6】GROUP BY子句必须出现在where子句之后,order by子句之前。
2.过滤分组
group by可以分组数据,如果要过滤分组,即排除哪些分组,留下哪些分组,这个时候就不能使用where,因为where过滤的是行而不是分组。
- HAVING
HAVING支持所有WHERE操作符,即它们句法相同,只是关键字有差别。
SELECT order_name, COUNT(*)AS numFROM order1GROUP BY order_name;HAVING COUNT(*)> 2;
HAVING对分组进行过滤,上面这个语句,过滤了分组之后num大于2的值
3.分组排序
使用order by 进行排序
————————————————————————————————————————————————————————-
子查询
子查询:嵌套在其他查询中的查询
将一条select语句返回的结果,用于另一条select语句的where子句
SELECT cust_idFROM ordersWHERE order_num IN (SELECT order_num FROM orderitems WHERE prod_id = 'tnt2');
第二个SELECT 返回,从表orderitems中prod_id为tnt2的order_num,
将这个结果又传递给外部查询的where子句
——————————————————————————————————————————————————————————
SELECT字句顺序
把之前学的查询语句顺序进行整理,也是使用时必须遵循的次序
- MySQL--操作简记(汇总数据(聚集函数),分组数据,子查询)
- MySQL创建字段+数据处理函数+汇总数据(聚集函数)+分组数据
- 【MySQL】SELECT语句 计算字段 数据处理函数 汇总函数 分组数据 子查询
- MySQL必知必会笔记(三)SELECT语句 计算字段 数据处理函数 汇总函数 分组数据 子查询
- MySQL必知必会笔记(二)SELECT语句 计算字段 数据处理函数 汇总函数 分组数据 子查询
- MySQL必知必会笔记(三)SELECT语句 计算字段 数据处理函数 汇总函数 分组数据 子查询
- MySQL必知必会笔记(二)SELECT语句 计算字段 数据处理函数 汇总函数 分组数据 子查询
- MySQL数据汇总与聚集函数
- Mysql高级查询-----汇总和分组数据
- SQL必知必会(二) 计算字段、函数、汇总数据、分组数据、子查询
- Mysql中的数据分组和子查询
- MySQL分组数据与子查询
- MySQL数据聚集函数
- MySQL基础(3)——计算字段、处理函数、聚集函数和数据分组
- 数据库笔记8:SELECT语句 计算字段 数据处理函数 汇总函数 分组数据 子查询
- MySQL数据库——汇总数据(聚集函数)
- (七):分组查询、数据汇总示例
- MySQL数据汇总与聚集函数——MySQL系列(七)
- Maven Assembly插件介绍
- 线程的生命周期
- Node.js 实现爬虫(3) —— 保存爬取的数据
- 打造平台产品的经验----《启示录》
- 如何利用Windows自带calc计算机进行取模运算
- MySQL--操作简记(汇总数据(聚集函数),分组数据,子查询)
- eclipse配置黑色主题
- UITableVIewCell中webView设置高度问题
- Kafka异常处理(客户端和消费者都找不到topic)
- springmvc初始化过程
- EHCache does not allow attribute "maxEntriesLocalHeap".
- Workerman学习之路
- 剑指offer(1):二维数组中的查找
- AsyncTask多条目加载