Oracle , en førende database program, byder på mange analytiske funktioner , der tillader udviklere at udføre opgaver i en Structured Query Language eller SQL , i modsætning til en processuel sprog , som kommer med langt flere begrænsninger. Eksempler på Oracle analytiske funktioner omfatter gsn , Count, Lag , Procent Rank og varians . Funktion
analytiske funktioner kombinere en gruppe af rækker til at beregne en samlet værdi . Hver specifik funktion udretter det kunststykke på en anden måde , men alle analytiske funktioner giver en klar fordel i forhold sædvanlige samlede funktioner , at de kan vende tilbage flere rækker for hver gruppe. Brugere typisk beskæftiger analytiske funktioner til at beregne sådanne forskellige typer af aggregater som kumulative, bevægende , centreret eller rapportering.
Funktioner
syntaksen for hver funktion kan variere en smule , den grundlæggende syntaks struktur for en Oracle analytisk funktion består af de samme tre komponenter: den analytiske funktion, de argumenter og den analytiske årsag . Syntaksen kan være indtastet som " analytic_function ([ argumenter ] ) OVER ( analytic_clause )" . Den analytisk funktion kan indarbejde mellem nul og tre argumenter med argumenter , der består af alle numeriske data. Den analytiske klausul del kan bestå af en forespørgsel partition klausul , en ordre -by- class årsag eller en windowing klausul.
Typer
Hver af de tre analytiske klausuler i en analytisk funktion udfører en særlig opgave . En forespørgsel partition klausul opdeler resultatet sat i grupper af data , adskille dataene i partitioner . Denne funktion giver mulighed for større tilpasning og mere effektiv organisering af data. Rækkefølgen af punkt tager tingene et skridt videre , bestilling rækker inden for en partition for endnu mere præcision. Endelig windowing klausulen fungerer som en forlængelse af ordren ved klausulen , bestemme et bestemt interval af rækker indefra bestilt partition til at påvirke . En windowing klausul kan kun anvendes, hvis en ordre ved klausul er allerede til stede .
Overvejelser
Når du indtaster syntaksen for givet analytisk funktion , kan du tilføje bestemte vilkår yderligere at definere de resulterende data . For eksempel repræsenterer ASC og DESC " stigende " og " faldende ", henholdsvis når du angiver en bestilling sekvens. Tilføjelse betegnelserne nuller første eller nuller SIDSTE på, om returnerede rækker uden data skal vises første eller sidste . Når man arbejder med en vindues klausul RÆKKER angiver målrettede vindue i fysiske enheder, mens RANGE angiver vinduet som en logisk sæt rækker . Du kan også definere en vindues udgangspunkt med aktuelle række eller endda ubegrænsede FOREGÅENDE , hvilket placerer udgangspunktet til den første række af partitionen . Udtrykket Unbounded FØLGENDE angiver vinduet slutter ved partition endelige række.