sql的having深入理解;group by只返回一组的一行,compute更好
来源:互联网 发布:乐器教学软件 编辑:程序博客网 时间:2024/05/21 19:26
where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。
总之,select 后用where过滤,找到符合条件的元组。
而一旦需要 按某个值分组,用group by语句,需要在组内进行过滤时,就用having,如having sum(某列)>4。
记住,having 用在group by后,配合使用,过滤结果。过滤条件使用聚集函数。
所以聚合函数,作于在having 内部,先执行。作用在where外,后执行。
使用compute和compute by
使用compute子句允许同时观察查询所得到各列的数据的细节以及统计各列数据所产生的汇总列
select * from work [查询所得到的各列的数据的细节]
compute max(基本工资),min(基本工资) [统计之后的结果]
这个例子中没有使用by关键字,返回的结果是最后添加了一行基本工资的最大值和最小值,也可增加by关键字.
例:select * from work order by 学历
compute max(基本工资),min(基本工资) by 学历
比较:select 学历,max(基本工资),min(基本工资) from work group by 学历
说明:1:compute子句必须与order by子句用在一起
2:compute子句可以返回多种结果集.一种是体现数据细节的数据集,可以按分类要求进行正确的分类;另一种在分类的基础上进行汇总产生结果.
3:而group by子句对每一类数据分类之后只能产生一个结果,不能知道细节。
- sql的having深入理解;group by只返回一组的一行,compute更好
- Group by和having的理解
- group by 和 having的理解
- 关于having,group by 的Sql 语句
- sql group by 与 having的用法
- sql group by和having 的用法
- 关于having,group by 的Sql 语句
- sql group by 的having 与 where
- SQL 统计分组 Group By和Compute By的整理
- SQL中order by 、group by 、having的用法区别
- SQL 中order by 、group by 、having的用法区别
- SQL中order by 、group by 、having的用法区别
- SQL学习之 对GROUP BY 和 HAVING 的理解 学习笔记
- group by...having....理解
- group by having的使用
- SQL Group by Having
- sql group by having
- SQL的聚合函数与Group By和Having子句
- Hibernate的工作原理
- SQL2005四个排名函数(row_number、rank、dense_rank和ntile)的比较
- mysql复制的一例错误:Relay_Log_Pos不变
- servlet进阶 api基本类和接口介绍
- HERBUST 1551 基础数据结构——字符串2 病毒II
- sql的having深入理解;group by只返回一组的一行,compute更好
- osg demo19 回调,使一个node来回动
- shell脚本学习笔记二
- boost 编译时出错处理:Failed to build Boost.Build engine
- Java 7之基础 - final、finally和finilize关键字
- 如何让硬件创业”硬起来“
- log4j不生成log文件
- 经营计划-经营回顾
- Google Chrome Source Code 浏览器源码(下载)