Beregning Av Løpende Totaler ved HJELP AV SQL – Wagon

Beregning Av Løpende Totaler ved HJELP AV SQL oktober 20, 2015 | Andy Granowitz

#sql

Hvor mange brukere har blitt med i DE siste 5 månedene? Hva var totalt salg I Q2? Hvor mye inntekter kom Fra mars registrere kohorten?

selv om disse spørsmålene kan besvares med et enkelt tall, kan det være nyttig å se en løpende sum over tid: hvor mange unike brukere ble med, eller hvor mye kumulative inntekter ble mottatt per dag over en periode.

vanligvis lagres data trinnvis. For eksempel, her er en tabell med salg per dag:

Date Sales
10/1/2015 5
10/2/2015 3
10/3/2015 7
10/4/2015 8
10/5/2015 2
10/6/2015 3
10/7/2015 6

How do we generate the following table of cumulative sales over time? In SQL, there are two typical approaches: a self join or a window function.

Date Running Total of Sales
10/1/2015 5
10/2/2015 8
10/3/2015 15
10/4/2015 23
10/5/2015 25
10/6/2015 28
10/7/2015 34

A self join is a query that compares a table to itself. I dette tilfellet sammenligner vi hver dato med en dato som er mindre enn eller lik den for å beregne løpende total. Konkret tar vi summen av sales i den andre tabellen over hver rad som har en dato mindre enn eller lik datoen som kommer fra den første tabellen. Dette Er Postgres / Redshift syntaks, men andre SQL dialekter er svært like.dette er ikke en dårlig tilnærming; det er en fin presentasjon av hvordan extensible SQL kan bruke bare selectfromjoin og group by uttalelser.

men det er mye kode for en enkel oppgave. La oss prøve en vindusfunksjon. De er utformet for å beregne en beregning over et sett med rader. I vårt tilfelle vil vi summere hver rad der datoen er mindre enn eller lik datoen i gjeldende rad.

vindusfunksjonen kan filtrere og ordne settet med rader for å kjøre funksjonen over. Her begrenserorder by date rows unbounded preceding sum-funksjonen til bare sales før datoen for gjeldende rad. Vindu funksjoner er utrolig nyttig for tidsbaserte analytiske spørringer; For å lære mer, Er Postgres docs et flott sted å starte.

det siste trinnet med å lage et diagram og dele det triumferende med lagkameratene dine, oppnås enkelt ved Hjelp Av Wagon. Vindu funksjoner for seieren!Wagon Er en moderne SQL editor for analytikere og ingeniører: skrive spørringer, visualisere data, og dele diagrammer med teamet ditt. Registrer deg gratis:

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *