首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Oracle-分析函数sum(...) over(...)

概述 Oracle函数 很久之前更新了一篇Oracle函数博文 http://blog.csdn.net/yangshangwei/article/details/51425458,分析函数并没有包括...,这里作为单独的开篇来介绍一下 分析函数 ---- ORACLE函数系列: Oracle常见函数大全 Oracle-分析函数之连续求和sum(…) over(…) Oracle-分析函数之排序值rank...()和dense_rank() Oracle-分析函数之排序后顺序号row_number() Oracle-分析函数之取上下行数据lag()和lead() ---- 分析函数Oracle专门用于解决复杂报表统计需求的功能强大的函数...>) PARTITION子句 ORDER BY子句 WINDOWING子句 缺省时相当于RANGE UNBOUNDED PRECEDING 分析函数带有一个开窗函数over(),包含三个分析子句:...】具体参示例 【说明】Oracle分析函数 NC示例: select bdcode,sum(1) over(order by bdcode) aa from bd_bdinfo ---- 【示例

2.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

SQL基础-->分组与分组函数

MAX([DISTINCT|ALL]expr) -- 求最大值,忽略空值 MIN([DISTINCT|ALL]expr) -- 求最小值,忽略空值 SUM([DISTINCT|ALL]n) --...FROM table [WHERE condition] [GROUP BY column] [ORDER BY column]; /* 四、分组函数使用准则: DISTINCT 使函数只考虑非重复值...带有expr参数的函数的数据类型可以为CHAR,VARCHAR2,NUMBER,DATE. 所有分组函数忽略空值。...,则GROUP BY子句必须包含这些列 WHERE 子句可以某些行在分组之前排除在外 不能在GROUP BY 中使用列别名 默认情况下GROUP BY列表中的列按升序排列 GROUP BY 的列可以不出现在分组中...七、分组过滤: 使用having子句 having使用的情况: 行已经被分组 使用了组函数 满足having子句中条件的分组将被显示 八、演示:*/ --为数字数据使用AVG和SUM方法

3.2K20

PLSQL-游标

ref游标能够被返回到客户端,是从Oracle的存储过程返回结果集的方式。 2)不能在包说明或包体中的过程或函数之外定义ref游标。只能在定义ref游标的过程中处理它,或返回到客户端应用程序。...notfound; dbms_output.put_line(pname); end loop; close c1; end TEST; DML隐式游标 在PL/SQL中使用DML语言,使用ORACLE...在多表查询中,使用OF子句来锁定特定的表,如果忽略了OF子句,那么所有表中选择的数据行都将被锁定。如果这些数据行已经被其他会话锁定,那么正常情况下ORACLE将等待,直到数据行解锁。...在UPDATE和DELETE中使用WHERE CURRENT OF子串的语法如下: WHERE{CURRENT OF cursor_name|search_condition} create or replace...procedure pc_SetVersionValid(PFlowsID in integer) is Cursor c1 is select * from wf_flows where

68320

Oracle高级查询-imooc

第1章 课程概述  1-1 Oracle高级查询课程概述 (05:14) 第2章 分组查询 本章介绍分组函数的概念和应用,以及GROUP BY子句和HAVING子句的使用。  ...(08:47)  2-6 [Oracle] group by子句的使用 (09:13)  2-7 [Oracle] having子句的使用以及和where的区别 (07:51)  2-8 [Oracle...分组查询: 分组函数:作用于一组数据,并对一组数据返回一个值。 1、常用的分组函数:AVG,SUM,MIN,MAX,COUNT,WM_CONCAT AVG:平均值。SUM:求和。...注意:在select列表中所有未包含在组函数中的列都应该包含在GROUP BY子句中;包含在GROUP BY子句中的列不必包含在SELECT列表中。...2000; where和having的区别:不能在where子句中使用组函数,可以在having子句中使用组函数

2K40

Oracle面试题

3,group by 用法:Mysql中group by 在SELECT语句中可以随意使用,但在ORACLE中如果查询语句中有组函数,那么其他列必须是组函数处理过的或者是group by子句中的列,否则会报错...,其中有一个唯一性索引,而其它是非唯一,这种情况下oracle将使用唯一性索引而完全忽略非唯一性索引5.至少要包含组合索引的第一列(即如果索引建立在多个列上,只有它的第一个列被where子句引用时,优化器才会使用该索引...11.Oracle中function和procedure的区别?...(8)WHERE子句中的连接顺序:ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾...当ORACLE遇到NOT,就避免在索引列上使用计算:(14)WHERE子句中,如果索引列是函数的一部分,优化器将不使用索引而使用全表扫描。会停止使用索引转而执行全表扫描。

1.5K00

oracle的操作

oracle内置权限:(SELECT * FROM SYSTEM_PRIVILEGE_MAP查); Oracle中的数据库访问权限类型共有两种: 系统权限: 允许用户执行特定的数据库动作,如创建表、创建索引...to scott with anmin option; grant execute any procedure to public; --将execute any procedure 授予所有用户...忽略子句时,缺省值为1。 START WITH:指定生成的第一个序列号。在升序时,序列可从比最小值大的值开始,缺省值为序列的最小值。...只能使用in模式参数传入参数值 在函数的声明中,必须包括一个带有数据类型的RETURN 子句,表示函数计算后的最终返回函数的结果类 型。...好处: 可以实现用简单的SQL语句不能实现的计算 提高查询的效率 使用规则: 只能使用函数,而不是过程 函数中不允许DML语句 形参必须为IN 必须返回Oracle支持数据类型,不能使用PL

1.5K20

mysql分组函数

分组函数:   count            计数函数   计算某个字段出现的里面的内容 不为null 就+1   sum(需要计算的那l列字段);·  求和函数   avg()            ...2.分组函数自动忽略NULL。   3.SQL语句当中有一个语法规则,分组函数不可直接使用在where子句当中。why????     怎么解释?         ...分组函数也能组合起来用:   select count(*),sum(sal),avg(sal),max(sal),min(sal) from emp; 单行处理函数   什么是单行处理函数?     ...Oracle的语法规则比MySQL语法规则严谨。 记住一个规则:当一条语句中有group by的话,select后面只能跟分组函数和参与分组的字段。...where后面不能使用分组函数: select deptno,avg(sal) from emp where avg(sal) > 2000 group by deptno; // 错误了。

12810

SQL优化一(SQL使用技巧)

分析函数Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计值。 分析函数和聚合函数的不同之处是什么?...order by子句里的内容和开窗函数over()中的order by子句里的内容不一样,那么sql语句中的排序将最后在分析函数分析结束后执行排序。...7、KEEP的使用      keep是Oracle下的另一个分析函数,他的用法不同于通过over关键字指定的分析函数,可以用于这样一种场合下:取同一个分组下以某个字段排序后,对指定字段取最小或最大的那个值...8、SQL查询正则表达式的使用   ORACLE中的支持正则表达式的函数主要有下面四个: 1,REGEXP_LIKE :与LIKE的功能相似     select * from emp where regexp_like...不匹配换行符号; m:多行模式; x:扩展模式,忽略正则表达式中的空白字符。

2.5K40

SQL 性能调优

(8) 删除重复记录 (9) 用TRUNCATE替代DELETE (10)尽量多使用COMMIT (11) 用Where子句替换HAVING子句 (12) 减少对表的查询 (13) 通过内部函数提高SQL...回到顶部 (2)WHERE子句中的连接顺序 ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE...当ORACLE”遇到”NOT,他就会停止使用索引转而执行全表扫描. 回到顶部 (22) 避免在索引列上使用计算 WHERE子句中,如果索引列是函数的一部分.优化器将不使用索引而使用全表扫描....因为空值不存在于索引列中,所以WHERE子句中对索引列进行空值比较将使ORACLE停用该索引....注意当字符和数值比较时, ORACLE会优先转换数值类型到字符类型 回到顶部 (31) 需要当心的WHERE子句 某些SELECT 语句中的WHERE子句不使用索引. 这里有一些例子.

3.2K10

SQL 性能调优

(2)WHERE子句中的连接顺序 ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE...ORACLE为管理上述3种资源中的内部花费 (11) 用Where子句替换HAVING子句 避免使用HAVING子句, HAVING 只会在检索出所有记录之后才对结果集进行过滤....(22) 避免在索引列上使用计算 WHERE子句中,如果索引列是函数的一部分.优化器将不使用索引而使用全表扫描....因为空值不存在于索引列中,所以WHERE子句中对索引列进行空值比较将使ORACLE停用该索引....注意当字符和数值比较时, ORACLE会优先转换数值类型到字符类型 (31) 需要当心的WHERE子句 某些SELECT 语句中的WHERE子句不使用索引. 这里有一些例子.

2.7K60
领券