Oracle——分组函数
AVG(平均值)和 SUM (合计)函数
- 可以对数值型数据使用AVG 和 SUM 函数。
- AVG组函数忽略空值
- --在组函数中使用NVL函数
- --求平均值
- sum(expr)/count(nvl(expr,0))
MIN(最小值)和 MAX(最大值)函数
- 可以对任意数据类型的数据使用 MIN 和 MAX 函数。
- SELECT MIN(hire_date), MAX(hire_date)
- FROM employees;
COUNT(*) 返回表中记录总数,适用于任意数据类型。
- SELECT COUNT(*)
- FROM employees
- WHERE department_id = 50;
- COUNT(expr) 返回expr不为空的记录总数。
- COUNT(DISTINCT expr)返回expr非空且不重复的记录总数
- SELECT COUNT(DISTINCT department_id)
- FROM employees;
Group by
可以使用GROUP BY子句将表中的数据分成若干组
①、WHERE一定放在FROM后面
- select department_id ,avg(salary)
- from employees
- --where department_id in(20,30,40)
- group by department_id
②、在SELECT 列表中所有未包含在组函数中的列都应该包含在 GROUP BY 子句中。
- SELECT department_id, AVG(salary)
- FROM employees
- GROUP BY department_id ;
③、包含在 GROUP BY 子句中的列不必包含在SELECT 列表中
- SELECT AVG(salary)
- FROM employees
- GROUP BY department_id ;
④、使用多个列分组
- select department_id ,job_id,avg(salary)
- from employees
- group by department_id,job_id
⑤、可以在 HAVING 子句中使用组函数。
- SELECT department_id, AVG(salary)
- FROM employees
- HAVING AVG(salary) > 8000
- GROUP BY department_id;
注意:不能在 WHERE 子句中使用组函数。
⑥、可以在order by 子句中使用组函数
- select department_id,avg(salary)
- from employees
- having avg(salary)>6000
- group by department_id
- order by avg(salary)
Oracle——分组函数的更多相关文章
- 【转】【CUBE】Oracle分组函数之CUBE魅力
http://blog.itpub.net/519536/viewspace-610997/ Oracle的CUBE与ROLLUP功能很相似,也是在数据统计分析领域的一把好手. 关于ROLLUP的查 ...
- Oracle分组函数之CUBE魅力
Oracle的CUBE与ROLLUP功能很相似,也是在数据统计分析领域的一把好手. 关于ROLLUP的查询统计功能请参考文章<Oracle分组函数之ROLLUP魅力>(http://www ...
- Oracle分组函数之ROLLUP用法
rollup函数 本博客简单介绍一下oracle分组函数之rollup的用法,rollup函数常用于分组统计,也是属于oracle分析函数的一种 环境准备 create table dept as s ...
- oracle 分组函数执行分析
先上例了: select job as "JOB1", avg(sal) as "avg sal" from scott.emp group by " ...
- [转]【ROLLUP】Oracle分组函数之ROLLUP魅力
原创:http://blog.itpub.net/519536/viewspace-610995 本文通过演示给出Oracle ROLLUP分组函数的用法,体验一下Oracle在统计查询领域中的函数魅 ...
- Oracle分组函数以及数据分组
简单总结一下对于数据的分组和分组函数. 本文所举实例,数据来源oracle用户scott下的emp,dept ,salgrade 3表:数据如下: 一.分组函数 1.sum()求和函数.max()求最 ...
- Oracle 分组函数
分组函数的介绍 分组函数作用于一组数据,并对一组数据返回一个值. (引用网上的一张图) 分组函数的使用规则 SELECT [column,] group_function(column) FROM t ...
- Oracle分组函数实例
分组函数也叫聚合函数.如果在查询只想要查分组函数,那么跟平时的查询语句并无不同: SQL ,,,,) ; SUM(T.PRIZENUM) AVG(T.PRIZENUM) --------------- ...
- oracle 分组函数、视图
组函数 分组函数作用于一组数据,对每一组返回一个值 组函数类型: 1.计数 count(列名 或 表达式) 对满足的行数进行统计 2.求和 sum(列名 或 表达式 ...
- Oracle分组函数之ROLLUP
功能介绍: 首先是进行无字段的聚合,然后在对字段进行从左到右依次组合后聚合 创建表: Create Table score ( classID Int, studentName ), subject ...
随机推荐
- gen already exists but is not a source folder
遇到android项目导入出现后重复空包等错误,往往是导入的java编译级别有关,点击项目properties-> java Compiler ->修改Compiler complianc ...
- You-Get 一键下载全网视频资源
下载视频 无论是单纯的下载视频收藏,还是以便离线收看,都离不开“下载”,好的工具让你把注意力更好的放在视频的本身,而不用考虑要如何下载视频.下载视频从来不乏方法,之前也介绍了下载 Youtube ...
- EMI (电磁干扰)
EMI是指电子产品工作会对周边的其他电子产品造成干扰,与此关联的还有EMC规范.是电子电器产品经常遇上的问题.干扰种类有传导干扰和辐射干扰. 电磁干扰(Electromagnetic Interfer ...
- git 远程仓 和 本地仓 记录
一.远程仓添加信息后 ,本地环境修改信息后,上传 远程仓 coding=utf-8 本地仓 coding=utf-8 本地仓同步后 会提示存在冲突: (其中 HEAD 是当前非支的意思,可以理解为当前 ...
- 全文检索引擎Solr系列——Solr核心概念、配置文件
Document Document是Solr索引(动词,indexing)和搜索的最基本单元,它类似于关系数据库表中的一条记录,可以包含一个或多个字段(Field),每个字段包含一个name和文本值. ...
- SpringBoot中通过SpringBootServletInitializer如何实现容器初始化
相关文章 <Servlet3.0之四:动态注册和Servlet容器初始化> <SpringBoot中通过SpringBootServletInitializer如何实现组件加载> ...
- js中的Array
js中的Array 啥是ArrayLike对象 类似,下面这种对象的就是ArrayLike var arraylike = { 0: "a", 1: "b", ...
- List去重与排序
最简单的方法:利用Where一句话去重 pointLst = pointLst.Where((x, i) => pointLst.FindIndex(z => z.POINT_ID == ...
- 简单的方法实现仿微信底部的Tab选项卡界面
在网上看了比较多的关于Tab的教程,发现都很杂乱.比较多的用法是用TitlePagerTabStrip和ViewPaper.不过TitlePagerTabStrip有个很大的缺陷,Tab里面的内容刚进 ...
- 自定义inputformat和outputformat
1. 自定义inputFormat 1.1 需求 无论hdfs还是mapreduce,对于小文件都有损效率,实践中,又难免面临处理大量小文件的场景,此时,就需要有相应解决方案 1.2 分析 小文件的优 ...