Postgres String Agg

Postgres String Agg
In PostgreSQL, ci sono funzioni aggregate integrate tra cui somma, conteggio, array_agg (), string_agg (), avg (), max, min ecc. Lo scopo di utilizzare le funzioni aggregate nel codice è determinare l'output da un insieme di valori. In questo articolo, discuteremo della funzione String_agg (). String_agg () è una funzione aggregata composta da due parametri; Il primo parametro prende i valori di input e concatena i valori in stringhe. Nel secondo parametro, si specifica il delimitatore che separa il primo parametro.

La funzione String_agg () e le funzioni array_agg () funzionano è la stessa tranne che String_agg () è la funzione aggregata che restituisce il risultato come tipo di stringa mentre la funzione array_agg () restituisce il tipo di array come risultati.

Questo articolo è una guida completa per spiegare la funzione aggregata String_Agg () in PostgreSQL. Testimerai vari esempi della funzione String_Agg () in PostgreSQL con una spiegazione dettagliata. La seguente sintassi ti aiuterà a ottenere la comprensione di base dell'utilizzo della funzione String Agg () in PostgreSQL:

String_agg (valore, delimitatore)

Nella sintassi sopra,

  • Innanzitutto, scrivi la funzione String_agg () con parentesi (). La funzione Sring_agg () richiede due parametri.
  • Nel primo parametro, il "valore" è qualsiasi valore di testo che è un carattere stringa. Se inserisci qualsiasi altro tipo di dati rispetto al carattere stringa, non prenderebbe quel valore come input.
  • Nel secondo parametro, il "delimitatore" separa le stringhe concatenate.

String_agg () prende anche l'ordine per clausola nell'istruzione. È facoltativo se si desidera che l'output sia in un ordine specifico, è possibile utilizzare la clausola Order per String_AGG (). Di seguito è riportato un esempio di utilizzo dell'ordine per clausola nell'istruzione:

String_agg (valore, delimitatore [order_by_clause])

È possibile aggiungere la condizione specificata in "Order_by_clause" utilizzando l'ordine per funzione nell'istruzione in questo modo:

Ordine per valore1 ASC | Desc, ..

L'ordine per funzione può essere indicato come in forma ascendente o discendente nell'istruzione in base al valore (valore1) scritto.

È inoltre possibile utilizzare il gruppo per clausola nelle dichiarazioni; dice alle righe che sono raggruppate nel tavolo.

String_agg () Esempi di funzioni in PostgreSQL:

Per utilizzare la funzione String_agg () nelle istruzioni necessarie per la prima volta per creare una tabella di esempio per esempi in PostgreSQL. Di seguito è riportato il codice per la creazione di una tabella di esempio in PostgreSQL:

Crea giocatori di tabelle (
Testo di Player_Name ,
testo team_name ,
Testo Player_Positon
);

La sintassi sopra creerà una tabella nel database con il nome "giocatori" e colonne come giocatore_name, team_name e player_position. PostgreSQL fornisce il seguente messaggio:

Per verificare che la tabella sia creata con le colonne specificate, eseguire la query seleziona di seguito:

Seleziona * da "giocatori";

Ora, inserisci alcuni valori nella tabella "giocatori" con l'inseri nel comando:

Inserire in "giocatori"
Valori ("Chris", "Indie occidentali", "Batsman"), ("Shannon", "West Indies", "Bowler"),
("Bravo", "Indie occidentali", "Batsman");
Inserire in "giocatori"
Valori ("James", "Nuova Zelanda", "All Rounder");
Inserire in "giocatori"

Valori ("Shaheen", "Pakistan", "Bowler"), ("Sarfaraz", "Pakistan", "Wicket Keeper");

I valori di cui sopra vengono inseriti nella tabella "giocatori" usando il comando insert in e valori nelle istruzioni e possiamo confermarlo eseguendo l'istruzione di selezione di seguito:

Seleziona * da "giocatori";

I valori che sono stati specificati nell'inserto nel comando sono ora eseguiti correttamente e possono essere visti nell'output sopra.

Generare valori separati da virgola usando String_agg () in PostgreSQL:

Per generare un elenco di valori separati dalle virgole useremo la funzione String_agg () nell'istruzione. Di seguito è riportata l'istruzione per generare valori separati dalle virgole:

Seleziona "team_name", string_agg ("player_name", ',')
Dal gruppo "giocatori" per "team_name";

Abbiamo usato la funzione String_agg () per separare la colonna "Player_name" con le virgole nell'istruzione SELECT. Nel primo parametro di String_agg () è definita l'espressione che vogliamo separare; Nel secondo parametro, abbiamo usato la virgola ", come delimitatore o separatore per separare i valori. Abbiamo usato il gruppo per comando per dividere le righe rispetto alla colonna "team_name". L'output per la sintassi sopra viene visualizzata come:

I valori di "Player_Name" sono concatenati dai virgole nell'output sopra e visualizzati con il "team_name".

Separare più colonne con virgole usando String_agg () in PostgreSQL:

Possiamo usare più di una funzione String_AGG () nell'istruzione Single Select. L'esempio seguente mostra la dimostrazione di questo:

Seleziona "team_name", String_agg ("Player_name", ','), String_agg ("Player_Positon", ',')
Dal gruppo "giocatori" per "team_name";

Ho usato due funzioni String_agg () in due diverse colonne per concatenare i valori delle colonne da separatore di virgole. L'istruzione sopra mostra i seguenti risultati:

È visibile che i valori a due colonne siano ora separati dalle virgole e generano l'elenco.

Non conosciamo i nomi delle colonne nell'output sopra che sono menzionati come nomi "string_agg" predefiniti, possiamo specificare i nomi delle colonne utilizzando come funzione nell'istruzione sopra. Questa è la sintassi per l'utilizzo della funzione e specificare i nomi alla colonna:

Seleziona "team_name", String_agg ("Player_name", ',') come giocatori_name,
String_agg ("Player_Positon", ',') come giocatori_positions
Dal gruppo "giocatori" per "team_name";

Nell'istruzione sopra, con la funzione String_agg (), ho specificato la parola chiave AS con il nome desiderato, visualizzando un nome nella colonna. Possiamo vedere nell'output seguente:

Le colonne che sono state le prime per impostazione predefinita denominate come "String_agg" sono ora denominate rispettivamente come "giocatori_name" e "player_positions".

Conclusione:

Abbiamo imparato in questo articolo sulla funzione String_agg () in Postgresql, la sua definizione, il suo uso e l'implementazione. La funzione String_agg () può essere utilizzata per generare valori separati da virgola con colonne singole e più. La parola chiave AS può essere utilizzata per visualizzare i nomi specifici alle colonne selezionate.