Tellingsfunksjonen teller antall rader (oppføringer) fra en valgt uttalelse som er overført til funksjonen som et inngangsuttrykk. Det ville være mye vanskeligere å telle antall rader hvis de er hundrevis eller tusenvis.
I denne bloggen vil vi diskutere hvordan tellefunksjonen i rødskift kan brukes i forskjellige scenarier for å telle antall rader.
Syntaks for tellefunksjon
Syntaksen for å bruke Redshift Count -funksjonen er som følger.
Telle ([distinkt | alle] * | uttrykk)
Her vil vi diskutere forskjellige parametere som kan sendes til tellefunksjonen mens vi teller antall rader.
Distinkt | ALLE
De DISTINKT Parameter brukes når du bare trenger tellingen av distinkte rader og fjern duplikatet antall rader mens du teller. De ALLE Parameter brukes når du trenger å telle alle radene, inkludert duplikasjonene.
Uttrykk
Denne parameteren er den målrettede kolonnen i tabellen du vil bruke tellefunksjonen. Tellingsfunksjonen vil få inngangen fra uttrykket og returnere antall rader. For å telle alle radene i en kolonne i rødskiftetabellen, kan du bruke (*) uttrykket.
Eksempler på tellefunksjon
I denne delen vil vi se hvordan vi kan bruke tellefunksjonen i forskjellige scenarier. Vi kan bruke tellefunksjonen på flere måter for å få antall rader. Noen av brukstilfellene av tellefunksjonen er listet opp nedenfor:
Tellefunksjon på ikke-null rader
Nå vil vi bruke tellefunksjonen på en tabell der radene har noen verdier (ikke null). La oss ha et bord (redshift_count_function) med tre kolonner (Id, første_navn og etternavn), som vist under. Nå vil vi bruke tellefunksjonen på følgende tabell for å få antall rader:
Id | fornavn | etternavn |
---|---|---|
00 | Dwayne | Johnson |
11 | Vin | Diesel |
22 | Vil | Smith |
33 | Robert | Downey Jr. |
44 | Chris | Hemsworth |
Bruk tellefunksjonen på Id Kolonne av redshift_count_function bord.
Velg Count (ID)
Fra Redshift_Count_Function;
Utgangen fra den forrige spørringen vil være som følger når den utføres:
telle
5
Tellefunksjon på null rader
Tellefunksjonen kan også brukes for å telle antall oppføringer (rader) som returneres av et uttrykk. Hvis noen av oppføringene som er returnert av uttrykket er null, vil ikke tellefunksjonen telle og ekskludere det fra resultatet. I dette eksemplet vil vi bruke tellefunksjonen på kolonnen som har minst en nullverdi.
S_no | fornavn | etternavn |
---|---|---|
1 | Dwayne | Johnson |
2 | Vin | Diesel |
3 | Vil | Smith |
4 | Robert | Downey Jr. |
5 | Chris | NULL |
6 | Leonardo | DiCaprio |
Bruk tellefunksjonen på etternavn Kolonne av redshift_count_function bord. En rad har en nullverdi, så tellefunksjonen teller ikke den raden.
Velg Count (Last_name)
Fra Redshift_Count_Function;
Utgangen fra den forrige spørringen vil være som følger når den utføres:
telle
5
Utgangen viser at tellefunksjonen bare teller radene som har noen verdier og kaster NULL -raden.
Tellefunksjon på multi null rader
Nå har vi et bord der en kolonne fornavn Inkluderer flere nullverdier. Her vil vi bruke tellefunksjonen på fornavn Kolonne av redshift_count_function Tabell for å få antall rader som ikke har en nullverdi.
S_no | fornavn | etternavn |
---|---|---|
1 | Dwayne | Johnson |
2 | NULL | Diesel |
3 | Vil | Smith |
4 | NULL | Downey Jr. |
5 | Chris | NULL |
6 | NULL | DiCaprio |
Bruk tellefunksjonen på fornavn Kolonne av redshift_count_function Tabell ved hjelp av følgende spørsmål. Tre rader har en nullverdi, slik at tellefunksjonen ikke teller disse radene.
Velg Count (First_name)
Fra Redshift_Count_Function;
Utgangen fra den forrige spørringen vil være som følger når den utføres:
telle
3
Tellefunksjon ved bruk av (*) parameter
I dette eksemplet vil vi bruke tellefunksjonen ved hjelp av (*) parameteren. Denne parameteren brukes når du trenger å telle alle rader, selv om rader inneholder nullverdier.
S_no | fornavn | etternavn |
---|---|---|
1 | Dwayne | Johnson |
2 | Vin | Diesel |
3 | Vil | Smith |
4 | Robert | Downey Jr. |
5 | Chris | NULL |
6 | Leonardo | DiCaprio |
Bruk tellefunksjonen på redshift_count_functioN -tabell ved å utføre følgende spørsmål:
Velg Count (*)
Fra Redshift_Count_Function;
Utgangen fra den forrige spørringen vil være som følger når den utføres:
telle
6
Dette eksemplet viser at (*) parameter teller alle radene selv om noen rad inneholder nullverdier.
Tellefunksjon ved bruk av distinkt parameter
I dette eksemplet vil vi bruke tellefunksjonen ved å bruke den distinkte parameteren. Denne parameteren teller bare et tydelig antall rader og etterlater dupliserte rader.
S_no | Id | fornavn | etternavn |
---|---|---|---|
1 | 11 | Dwayne | Johnson |
2 | 22 | Vin | Diesel |
3 | 33 | Vil | Smith |
4 | 44 | Robert | Downey Jr. |
5 | 55 | Chris | Hemsworth |
6 | 66 | Leonardo | DiCaprio |
7 | 77 | Dwayne | Johnson |
8 | 88 | Vin | Diesel |
9 | 99 | Vil | Smith |
10 | 1010 | Robert | Downey Jr. |
11 | 1111 | Chris | Hemsworth |
12 | 1212 | Leonardo | DiCaprio |
Bruk tellefunksjonen ved å bruke den distinkte parameteren på etternavn Kolonne i tabellen ovenfor. Det er bare seks forskjellige rader, så tellefunksjonen vil bare telle de distinkte radene.
Velg Count (distinkt sistenavn)
Fra Redshift_Count_Function;
Utgangen fra den forrige spørringen vil være som følger når den utføres:
telle
6
Tellefunksjon på nullrader ved bruk av distinkt parameter
I dette eksemplet vil vi bruke tellefunksjonen på kolonnen med en nullrekke ved hjelp av en distinkt parameter.
S_no | Id | fornavn | etternavn |
---|---|---|---|
1 | 11 | Dwayne | Johnson |
2 | 22 | Vin | Diesel |
3 | 33 | Vil | Smith |
4 | 44 | Robert | Downey Jr. |
5 | 55 | Chris | NULL |
6 | 66 | Vil | Smith |
Bruk tellefunksjonen ved å bruke den distinkte parameteren på etternavn Kolonne i denne tabellen. Dette vil bare telle fire rader fordi en rad har en null, og en rad har en duplikatverdi.
Velg Count (distinkt sistenavn)
Fra Redshift_Count_Function;
Utgangen fra den forrige spørringen vil være som følger når den utføres:
telle
4
Konklusjon
I denne artikkelen har vi studert hvordan du bruker tellefunksjonen for å telle antall rader som returneres med et uttrykk. Tellefunksjonen kan brukes for å telle det totale antallet rader og de unike radene bare ved å spesifisere den distinkte parameteren. For å telle alle radene, inkludert nullverdiene, bruk tellefunksjonen med (*) parameteren.