sql的having深入理解;group by只返回一组的一行,compute更好
Having
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子句对每一类数据分类之后只能产生一个结果,不能知道细节。
最新文章
- LD_LIBRARY_PATH的设定
- C#中的枚举类型enum用法
- JavaScript Patterns 5.9 method() Method
- asp.net mvc 设置启动页面在区域中
- JS中toFixed()方法的问题及解决方案
- [py] os.system os.popen commands 执行shell
- js copy
- 前端编码规范(4)—— CSS 和 Sass (SCSS) 规范
- linux下奇怪的“重名”文件
- Failed to execute command: ";";C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\ResGen.exe"; 的一个解决办法
- 题目1023:EXCEL排序(多关键字+快排+尚未解决)
- ORACLE 常用系统函数
- poj 2288 Islands and Bridges
- hdu_3565_Bi-peak Number(数位DP)
- python 对比图片相似度
- VCI_CAN二次开发摘机
- Selenium Extent Report的设置
- GitHub-暂存区与版本回退
- jmeter之批量修改请求路径
- rsync 同步文件如何指定属主属组和权限
热门文章
- linux中probe函数中传递的参数来源(上)
- premake设置静态运行库
- Python rich comparisons 自定义对象比较过程和返回值
- C#删除WebBrowser控件的Session
- Xcode的playground中对于SpriteKit物理对象的更新为何无效
- 64位Linux下安装mysql-5.7.13-linux-glibc2.5-x86_64 || 转载:http://www.cnblogs.com/gaojupeng/p/5727069.html
- 侧滑面板(对viewGroup的自定义)
- MySQL 实现调用外部程序和系统命令
- ProgressBar的indeterminateDrawable属性在安卓6.0上的问题
- ROS_Kinetic_19 群机器人框架示例(micros swarm framework)