Oracle Analytiske funksjoner

Oracle Analytiske funksjoner


Oracle, et ledende database applikasjon, har mange analytiske funksjoner som gjør det mulig for utviklere å utføre oppgaver på en Structured Query Language, eller SQL, i motsetning til en prosedyrespråk, som kommer med langt flere begrensninger. Eksempler på Oracle analytiske funksjoner inkluderer Gjennomsnittlig, grev, Lag, Prosent Rank og varians.

Funksjon

Analytiske funksjoner kombinere en gruppe av rader for å beregne en samlet verdi. Hver spesifikk funksjon oppnår den bragden på en annen måte, men alle analytiske funksjoner gir en klar fordel over vanlige aggregerte funksjoner ved at de kan returnere flere rader for hver gruppe. Brukere bruker vanligvis analytiske funksjoner for å beregne slike forskjellige typer tilslag som kumulativ, flytting, sentrert eller rapportering.

Egenskaper

Mens syntaksen for hver funksjon kan variere litt, den grunnleggende syntaks struktur for en Oracle analytisk funksjon består av de samme tre komponenter: analytisk funksjon, argumenter og den analytiske årsaken. Syntaksen kan bli skrevet som "analytic_function ([argumenter]) OVER (analytic_clause)". Den analytisk funksjon kan innlemme mellom null og tre argumenter, med argumenter som består av noen numeriske data. Det analytiske klausul delen kan bestå av en spørring partisjon klausul, en ordre-by-klasse årsak eller en vindus klausul.

typer

Hver av de tre analytiske klausuler i en analytisk funksjon utfører en spesiell oppgave. En spørring skillevegg punkt skiller resultatet sett i grupper av data, som skiller dataene i partisjoner. Denne funksjonen gjør det mulig for større tilpasning og mer effektiv organisering av data. Rekkefølgen av klausulen tar ting ett skritt videre, bestiller rader i en partisjon for enda mer presisjon. Endelig, virker den vindus klausul som en forlengelse av ORDER BY-leddet, å bestemme en bestemt utvalg av rader innenfra beordret partisjonen til å påvirke. En vindus klausul kan bare brukes hvis en ordre av klausulen er allerede til stede.

betraktninger

Når du skriver inn syntaksen for den gitte analytisk funksjon, kan du legge visse vilkår for å definere den resulterende data. For eksempel, ASC og DESC representere "stigende" og "ned", henholdsvis, når du angir en bestilling sekvens. Legge vilkårene nuller FIRST eller nuller SISTE avgjør om returneres rader uten data skal vises først eller sist. Når du arbeider med en vindus klausul, rader indikerer målrettet vinduet i fysiske enheter, mens RANGE angir vinduet som en logisk sett med rader. Du kan også definere et vindu utgangspunkt med gjeldende rad eller ubegrenset FORUT, som plasserer startpunktet på første rad på partisjonen. Begrepet grenseløs FØLGENDE spesifiserer vinduet ender på partisjonen endelige rad.