ORACLE分析函数(2)
下面,我们来解析一下分析函数的语法格式(语法格式图请参照:http://blog.csdn.net/yidian815/article/details/12709223)。
函数名称
对it人士来时,再简单不过的东西了,不做描述。
函数参数:
分析函数通常会具有0-3个参数。
分区子句:
通过分区子句,可以对记录集进行分区,然后针对每个分区分别进行统计运算。在分析函数中,使用分区子句不必使用()将子句包围起来。在一个查询当中,我们可以使用多个分析函数,每个分析函数可以使用独立的分区规则。如果没有指定分区子句,则默认将整个查询结果作为一个分区。
示例:
没有指定分区子句:
SQL> select p.prod_subcategory_id,prod_list_price,sum(prod_list_price) over(order by prod_subcategory_id,prod_list_price range between 2 preceding and current row) fx from products p where p.prod_subcategory_id > 2053;select p.prod_subcategory_id,prod_list_price,sum(prod_list_price) over(order by prod_subcategory_id,prod_list_price range between 2 preceding and current row) fx from products p where p.prod_subcategory_id > 2053 *第 1 行出现错误:ORA-30486: 在窗口说明中无效的窗口合计组
对于range窗口范围,排序子句不可有多个字段。
窗口子句:
通过前面的描述,相信大家对窗口子句的作用和语法已有所了解。
另外,并不是所有分析函数都可以使用窗口子句,可以只有窗口子句的分析函数,在http://blog.csdn.net/yidian815/article/details/12709223可以查阅(具有*号)。