oracle 10g分析函数最终版

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Oraccle100gR2分分析函函数 (Trannslated BBy caizhuuoyi 2008‐9‐19) 说明明: 1、2、1.AAnaaggcallewindcalcofro分析分组一个小可AnaORDbefointh分析有wh数只Anarepo分析anaana原文中底色原文中淡蓝色ANALYTIC alyticfunctionregatefunctedawindowdowofrowsculationsforowsoralog析函数通过将组返回多行值个窗口。每一可以用多个物alyticfunctioDERBYclausoretheanalyheselectlist析函数是查询here,gro只能用于选择alyticfunctioortingaggre析函数通常用alytic_funalytic_fun为黄的部分翻色字体的文字FUNCTIOnscomputetionsinthatwandisdefsisdefined.thecurrenticalinterval将行分组后,再值。分析函数一行都对应有一物理行进行度nsarethelase.AlljoinsyticfunctiontorORDERB询中除需要在upby,和h择列或ordernsarecommgates.用于计算数据nction::=nction([翻译存在商榷字,不宜翻译NS anaggregatheyreturnfinedbytheThewindowrow.Windowsuchastim再计算这些分根据analyt一个在行上滑度量,也可以astsetofopandallWHERsareprocesBYclause.在最终处理的ohaving子句rby子句中。monlyused据累积值,数=arguments榷之处,请大大家踊跃提意意见; 译,保持原样样。 atevaluebasmultiplerowanalytic_wdetermineswsizescanme.sedonagrowsforeachg_clause.Fstherangebebasedooupofrows.group.ThegForeachrowofrowsuseoneitherapTheydiffergroupofroww,aslidingdtoperformhysicalnumfromwsismthember分组的值。它tic_claue滑动的窗口。使用逻辑区间它们与聚集函es(分析子句。该窗口确定间进行度量,函数不同之处句)将行分组定当前行的计,比如时间。处在于能够对组,一个分组计算范围。窗对每一称为口大perationsperRE,GROUPBssed.ThererformedinaBY,andHAVefore,analytiaqueryexceVINGclauseicfunctionseptforthefinesarecomplcanappearnalletedonlyorderby子句都要在处理。子句之外最后理分析函数之后执行的操作之前进行计算作。所有连接。因此,分析接和所析函tocompute据移动值、数s])cumulative,数据中间值,moving,ceentered,and,和输出集合合报表。OOVER(anaalytic_claause)ana[q[oquePAR{|}ordORD{e[A[N[,].winalytic_claquery_partorder_by_cery_partitRTITIONBYvalue_ex(value_der_by_claause::=DER[SIBLexpr|posASC|DESCNULLSFIRS,{expr[ASC|[NULLS...ndowing_cltition_clclause[tion_clauYxpr[,valu_expr[,vaause::=LINGS]Bsition|C]ST|NULL|positioDESC]FIRST|lause::=lause]windowinguse::=ue_expr]alue_exprBYc_alias}LSLAST]on|c_alNULLSLAS=g_clause...r]...)lias}ST]]]{R{B{||}AN{||}|{||}}The以下1.1SpediscAna1.2AnaanydeteremotheROWS|RANBETWEENUNBOUNDECURRENTvalue_exNDUNBOUNDECURRENTvalue_exUNBOUNDECURRENTvalue_exesemantics下各节将讨论analytic_fuecifythenamcussionofsealytic_funArgumentsalyticfunctiononnumericerminestheainingargumerwisenotedNGE}EDPRECEDIROWxpr{PRECEDFOLLOWIROWxpr{PRECEDPRECEDROWxprPRECEDofthissynta论分析函数语unction meofananaemantics).nction指定s nstake0tocdatatypethargumentwmentstothadforanindivINGCEDING|INGCEDING|DINGDINGaxarediscus语法的语义。alyticfunctio定分析函数的3argumenthatcanbeimwiththehighatdatatype.vidualfunctiFOLLOWINGFOLLOWINGssedintheson(seetheli的名称。(请参ts.TheargumplicitlyconestnumericThereturnton.G}G}sectionsthaistingofana参阅以下语义umentscanbnvertedtoacprecedencetypeisalsoatfollow.alyticfunctio义论述中的分beanynumnumericdateandimplicthatdatatypnsfollowing分析函数列表ericdatatyptatype.Oraccitlyconvertspe,unlessgthis表)peorclesthe分析函数可取0-3个参数。参数可以是任何数字类型或是可以隐式转换为数字类型的数据类型。Oracle根据最高数字优先级别确定函数参数,并且隐式地将需要处理的参数转换为数字类型。函数的返回类型也为数字类型,除非此函数另有说明。See Also: NumericPrecedenceforinformationonnumericprecedenceandTable2-10,ImplicitTypeConversionMatrixformoreinformationonimplicitconversion请参阅:NumericPrecedence可获取数字优先级的相关信息,参阅表2-10—-隐式类型转换矩阵,可获取隐式转换的更多信息。1.3analytic_clause UseOVERanalytic_clausetoindicatethatthefunctionoperatesonaqueryresultset.Thatis,itiscomputedaftertheFROM,WHERE,GROUPBY,andHAVINGclauses.YoucanspecifyanalyticfunctionswiththisclauseintheselectlistorORDERBYclause.Tofiltertheresultsofaquerybasedonananalyticfunction,nestthesefunctionswithintheparentquery,andthenfiltertheresultsofthenestedsubquery.OverAnalytic_clause用以指明函数操作的是一个查询结果集。也就是说分析函数是在from,where,groupby,和having子句之后才开始进行计算的。因此在选择列或orderby子句中可以使用分析函数。为了过滤分析函数计算的查询结果,可以将它作为子查询嵌套在外部查询中,然后在外部查询中过滤其查询结果。Notesontheanalytic_clause:Thefollowingnotesapplytotheanalytic_clause:Analytic_clause注意事项:使用分析子句注意事项如下:•Youcannotspecifyanyanalyticfunctioninanypartoftheanalytic_clause.Thatis,youcannotnestanalyticfunctions.However,youcanspecifyananalyticfunctioninasubqueryandcomputeanotheranalyticfunctionoverit.Analytic_clause中不能包含其他任何分析函数。也就是说,分析函数不能嵌套。然而,可以在一个子查询中应用分析函数,并且通过它计算另外的分析函数。•YoucanspecifyOVERanalytic_clausewithuser-definedanalyticfunctionsaswellasbuilt-inanalyticfunctions.SeeCREATEFUNCTION.用户自定义分析函数和内置函数分析函数都可以使用overanalytic_clause。参见createfunction。1.4query_partition_clause UsethePARTITIONBYclausetopartitionthequeryresultsetintogroupsbasedononeormorevalue_expr.Ifyouomitthisclause,thenthefunctiontreatsallrowsofthequeryresultsetasasinglegroup.Partitionby子句根据一个或多个value_expr将查询结果集分成若干组。若不使用该子句,那末函数将查询结果集的所有行当作一个组。Tousethequery_partition_clauseinananalyticfunction,usetheupperbranchofthesyntax(withoutparentheses).Tousethisclauseinamodelquery(inthemodel_column_clauses)orapartitionedouterjoin(intheouter_join_clause),usethelowerbranchofthesyntax(withparentheses).在分析函数中使用query_partition_clause,应该使用语法图中上分支中的语法(不带圆括号).在model查询(位于model_column_clauses中)或被分隔的外部连接(位于outer_join_clause中)中使用该子句,应该使用语法图中下分支中的语法(带有圆括号)。analyticfunctionsinthesamequery,eachwiththesameor同一查询中可以使用多个分析函数,它们可以有相同或不同的partitionby键值。theobjectsbeingqueriedhavetheparallelattribute,andifyouspecifyananalytic被查询的对象具有并行特性,并且分析函数中包含query_partition_clause,那末lidvaluesofvalue_exprareconstants,columns,nonanalyticfunctions,functionalue_expr的有效值包括常量,表列,非分析函数,函数表达式,或者前面这些元素的任1.5or

1 / 93
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功