【书山有路】SQL必知必会 第10课
来源:互联网 发布:无缝丝袜淘宝贴吧 编辑:程序博客网 时间:2024/06/05 17:48
本章的主题是“分组数据”,介绍如何分组数据,以便汇总表内容的子集。涉及到GROUP BY和HAVING子句。
提示
- 使用分组可以将数据分为多个逻辑组,对每个组进行聚集计算。
- HIVING支持所有WHERE操作符。
- WHERE在数据分组前进行过滤,HAVING在数据分组后进行过滤。
创建分组
分组是使用SELECT语句和GROUP BY子句建立的。来看下面的SQL命令:
SELECT vend_id, COUNT(*) AS num_prodsFROM ProductsGROUP BY vend_id;
GROUP BY 子句指示DBMS分组数据,然后对每个组而不是整个结果集进行聚集。
关于GROUP BY的重要规定
- GROUP BY子句可以包含任意数目的列,因而可以对分组进行嵌套,更细致的进行数据分组。
- 如果在GROUP BY子句中嵌套了分组,数据将在最后指定的分组上进行汇总。
- GROUP BY的每一列不能是聚集函数。如果在SELECT中使用表达式,则必须在GROUP BY子句中指定相同的表达式。不能使用别名。
- 除聚集字段语句外,SELECT语句中的每一列都必须在GROUP BY子句中给出。
- 如果分组列中包含具有NULL值的行,则将NULL作为一个分组返回。
- GROUP BY必须出现在WHERE子句之后,ORDER BY子句之前。
过滤分组
SQL允许过滤分组,规定包括哪些分组,排除哪些分组。HAVING子句负责进行分组的过滤。
0 0
- 【书山有路】SQL必知必会 第10课
- 【书山有路】SQL必知必会 第1课
- 【书山有路】SQL必知必会 第2课
- 【书山有路】SQL必知必会 第3课
- 【书山有路】SQL必知必会 第4课
- 【书山有路】SQL必知必会 第5课
- 【书山有路】SQL必知必会 第6课
- 【书山有路】SQL必知必会 第7课
- 【书山有路】SQL必知必会 第8课
- 【书山有路】SQL必知必会 第9课
- 【书山有路】SQL必知必会 第11课
- 【书山有路】SQL必知必会 第12课
- 【书山有路】SQL必知必会 第13课
- 【书山有路】SQL必知必会 第14课
- 【书山有路】SQL必知必会 第22课
- 读书笔记:SQL必知必会【第10课-第12课】
- 读书笔记:SQL必知必会【第4课~第6课】
- 读书笔记:SQL必知必会【第7课-第9课】
- TED如何和压力做朋友(第四天完)
- 旅游问题
- tp的验证码的验证
- BestCoder ::So easy
- centos7下调试集群三台机器实现免密登陆--hadoop安装系列之一
- 【书山有路】SQL必知必会 第10课
- 《Linux内核分析》MOOC课程第六次实验作业
- 一种排序
- navicat导入sql文件太慢,mysql直接导入解决
- C# 调用微软自带的语音识别
- ZOJ-3711-Give Me Your Hand【概率dp】【10th浙江省赛】【好题】
- HDU3308区间合并+单点更新
- 二分查找
- HDU 1372Knight Moves