Oracle , ett ledande databasprogram har många analytiska funktioner som tillåter utvecklare att utföra uppgifter i en Structured Query Language , eller SQL , i motsats till en processuell språk , som kommer med betydligt fler restriktioner . Exempel på Oracle analytiska funktioner inkluderar Genomsnittligt , greve , fördröjning , Procent Rank och varians . Funktion
Analytiska funktioner kombinerar en grupp av rader att beräkna ett sammanlagt värde . Varje specifik funktion utför bedriften på ett annat sätt , men alla analytiska funktioner ger en klar fördel jämfört med sedvanliga mängdfunktioner i att de kan återvända flera rader för varje grupp . Användarna använder typiskt analytiska funktioner för att beräkna sådana olika typer av aggregat som kumulativa , rörliga , centrerad eller rapportering .
Funktioner
syntaxen för varje funktion kan variera något , den grundläggande syntax struktur för en Oracle analytisk funktion består av samma tre komponenter: analytisk funktion, argument och den analytiska orsaken . Syntaxen kan skrivas som " analytic_function ( [ argument ] ) OVER ( analytic_clause ) " . Den analytisk funktion kan innehålla mellan noll och tre argument , med argument som består av numeriska data . Den analytiska klausul delen kan bestå av en fråga partition klausul , en order - by- klass orsak eller en fönstermiljö klausul .
Typer
vardera av de tre analytiska klausuler i en analytisk funktion utför en speciell uppgift. En fråga partition klausul delar resultatet satt i grupper av data , separera data i partitioner . Denna funktion möjliggör större anpassning och effektivare organisation av data . ORDER BY-satsen tar saker ett steg längre , beställa rader inom en partition för ännu mer precision . Slutligen arbetar fönstersystemet klausulen som en förlängning av den beställning av klausulen , bestämma ett visst antal rader inifrån beställt partitionen att påverka . Ett fönstersystem klausul får användas endast om en beställning av klausul är redan närvarande . När du anger syntaxen för given analytisk funktion
Överväganden
, kan du lägga vissa villkor att ytterligare definiera de resulterande data . Till exempel , ASC och DESC representerar " stigande " och " fallande ", respektive , när du anger en beställning sekvens . Lägga villkoren nollorna första eller nollor SENASTE bestämmer om returnerade rader med inga data ska visas först eller sist . När du arbetar med en fönstermiljö klausul , indikerar rader riktade fönstret i fysiska enheter , medan Intervall Anger fönstret som en logisk uppsättning rader . Du kan också definiera ett fönster utgångspunkt med aktuell rad eller ens gränslösa FÖREGÅENDE , vilket placerar startpunkten på den första raden i partitionen . Termen GRÄNSLÖS EFTER anger fönstret slutar vid skiljeväggen sista raden .