Redshift Count -funksjon

Redshift Count -funksjon
Redshift Count -funksjonen er en av de samlede funksjonene i Amazon Redshift. Det teller antall oppføringer (rader) fra en uttalelse og returnerer tellingen som svar. Tellingsfunksjonen får responsen for en spørring og returnerer deretter antall rader i de valgte uttrykkene. Tellefunksjonen er uavhengig av datatypene for inngangsuttrykket og kan brukes med alle datatyper.

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
  • Telle funksjon null rader
  • Tellefunksjon på multi-null rader
  • Tellefunksjon ved bruk av (*) parameter
  • Tellefunksjon ved bruk av distinkt parameter
  • Tellefunksjon på nullrader ved bruk av distinkt parameter

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.