Postgres String AGG

Postgres String AGG
I PostgreSQL er det innebygde samlede funksjoner inkludert sum, count, array_agg (), string_agg (), avg (), maks, min osv. Hensikten med å bruke samlede funksjoner i koden din er å bestemme utdata fra et sett med verdier. I denne artikkelen vil vi diskutere String_agg () -funksjonen. String_agg () er en samlet funksjon bestående av to parametere; Den første parameteren tar inngangsverdier og sammenkobler verdiene til strenger. I den andre parameteren spesifiserer du avgrenseren som skiller den første parameteren.

String_agg () -funksjonen og array_agg () -funksjonene som fungerer er den samme, bortsett fra at String_AGG () er den samlede funksjonen som returnerer resultatet som String -type mens array_agg () -funksjonen returnerer deg array -typen som resultater som resultater.

Denne artikkelen er en komplett guide til å forklare String_AGG () Aggregate -funksjon i PostgreSQL. Du vil være vitne til forskjellige eksempler på String_agg () -funksjonen i PostgreSQL med en detaljert forklaring. Følgende syntaks vil hjelpe deg med å få den grunnleggende forståelsen av å bruke streng AGG () -funksjonen i PostgreSQL:

String_agg (verdi, avgrensning)

I syntaks ovenfor,

  • Først må du skrive String_agg () -funksjonen med parentes (). SRING_AGG () -funksjonen tar to parametere.
  • I den første parameteren er "verdien" en hvilken som helst tekstverdi som er et strengkarakter. Hvis du legger inn noen annen datatype enn strengkarakter, vil det ikke ta den verdien som input.
  • I den andre parameteren skiller 'avgrenseren' de sammenkoblede strengene.

String_agg () tar også ordren med klausul i uttalelsen. Det er valgfritt hvis du vil at utdataene skal være i en bestemt rekkefølge, så kan du bruke rekkefølgen BY -leddet med String_AGG () -funksjonen. Nedenfor er et eksempel på å bruke ordren etter klausul i uttalelsen:

String_AGG (verdi, avgrensning [order_by_clause])

Du kan legge til den spesifiserte tilstanden i 'order_by_claus' ved å bruke ordren etter funksjon i uttalelsen slik:

Bestill etter verdi1 ASC | Desc, ..

Rekkefølgen etter funksjon kan oppgis som enten i stigende eller synkende form i uttalelsen i henhold til verdien (verdi1) skrevet.

Du kan også bruke gruppen etter klausul i uttalelsene; Den forteller radene som er gruppert i tabellen.

String_agg () Funksjonseksempler i PostgreSQL:

For å bruke String_AGG () -funksjonen i utsagnene du først trenger for å lage en eksempeltabell for eksempler i PostgreSQL. Nedenfor er koden for å opprette en eksempeltabell i PostgreSQL:

Lag bordspillere (
Player_name Text ,
Team_name -tekst ,
spiller_positon tekst
);

Ovennevnte syntaks vil opprette en tabell i databasen med navnet “Spillere” og kolonner som Player_Name, Team_name og Player_Position. PostgreSQL inneholder følgende melding:

For å bekrefte at tabellen er opprettet med de spesifiserte kolonnene, kjører du SELECT -spørringen nedenfor:

Velg * fra "spillere";

Sett nå noen verdier i tabellen "spillere" med innsatsen i kommandoen:

Sett inn "spillere"
Verdier ('Chris', 'West Indies', 'Batsman'), ('Shannon', 'West Indies', 'Bowler'),
('Bravo', 'Vestindia', 'Batsman');
Sett inn "spillere"
Verdier ('James', 'New Zealand', 'All Rounder');
Sett inn "spillere"

Verdier ('Shaheen', 'Pakistan', 'Bowler'), ('Sarfaraz', 'Pakistan', 'Wicket Keeper');

Ovennevnte verdier settes inn i tabellen "spillere" ved hjelp av INSERT INN INNNE og verds -kommandoen i utsagnene, og vi kan bekrefte at ved å utføre SELECT -setningen nedenfor:

Velg * fra "spillere";

Verdiene som ble spesifisert i innsatsen i kommandoen blir nå utført med hell og kan sees i output ovenfor.

Generere komma-separerte verdier ved bruk av String_AGG () i PostgreSQL:

For å generere en liste over verdier atskilt med komma vil vi bruke String_Agg () -funksjonen i uttalelsen. Nedenfor er uttalelsen for å generere verdier atskilt med komma:

Velg "Team_name", String_AGG ("Player_name", ',')
Fra "Players" Group av "Team_name";

Vi har brukt String_AGG () -funksjonen for å skille kolonnen “Player_name” med komma i SELECT -setningen. I den første parameteren til String_agg () er uttrykket definert som vi ønsker å skille; I den andre parameteren har vi brukt komma ',' som en avgrenser eller separator for å skille verdiene. Vi har brukt gruppen med kommando for å dele radene med hensyn til kolonnen “Team_name”. Utgangen for syntaks ovenfor vises som:

Verdiene til “Player_name” er sammenkoblet av komma i output ovenfor og vises med “Team_name”.

Å skille flere kolonner med komma ved bruk av String_AGG () i PostgreSQL:

Vi kan bruke mer enn én String_agg () -funksjon i singel Select -setningen. Eksemplet nedenfor viser demonstrasjonen av det:

Velg "Team_name", String_AGG ("Player_Name", ','), String_AGG ("Player_Positon", ',')
Fra "Players" Group av "Team_name";

Jeg har brukt to String_agg () -funksjoner i to forskjellige kolonner for å sammenkoble verdiene til kolonnene med komma-separatorer. Ovennevnte uttalelse viser følgende resultater:

Det er synlig at to-kolonneverdier nå er atskilt med komma og genererer listen.

Vi kjenner ikke kolonnenavnene i outputten de er nevnt som standard “String_AGG” -navn, vi kan spesifisere kolonnenavnene som bruker som funksjon i ovennevnte setning. Dette er syntaks for å bruke som funksjon og spesifisere navn til kolonne:

Velg "Team_name", String_agg ("Player_name", ',') som spillernavn,
String_AGG ("Player_Positon", ',') som spillere_posisjoner
Fra "Players" Group av "Team_name";

I uttalelsen ovenfor, med String_agg () -funksjonen, har jeg spesifisert som nøkkelord med ønsket navn, og viser et navn i kolonnen. Vi kan se i utdataene nedenfor:

Kolonnene som først var som standard kalt "String_AGG", er nå kalt "Players_name" og "Players_Positions".

Konklusjon:

Vi har lært i denne artikkelen om String_agg () -funksjonen i PostgreSQL, dens definisjon, dens bruk og implementering. String_agg () -funksjonen kan også brukes til å generere komma-separerte verdier med enkelt- og flere kolonner. AS -nøkkelordet kan brukes til å vise de spesifikke navnene til valgte kolonner.