Postgres String Agg

Postgres String Agg
Dans PostgreSQL, il existe des fonctions agrégées intégrées, notamment SUM, COUNT, array_agg (), string_agg (), avg (), max, min etc. Le but de l'utilisation de fonctions agrégées dans votre code est de déterminer la sortie à partir d'un ensemble de valeurs. Dans cet article, nous discuterons de la fonction string_agg (). Le string_agg () est une fonction agrégée composée de deux paramètres; Le premier paramètre prend les valeurs d'entrée et concaténe les valeurs en chaînes. Dans le deuxième paramètre, vous spécifiez le délimiteur qui sépare le premier paramètre.

La fonction string_agg () et les fonctions array_agg () fonctionnent, sauf que string_agg () est la fonction agrégée qui renvoie le résultat en tant que type de chaîne tandis que la fonction array_agg () vous renvoie le type de tableau comme résultats.

Cet article est un guide complet pour expliquer la fonction agrégée string_agg () dans PostgreSQL. Vous allez assister à divers exemples de la fonction string_agg () dans PostgreSQL avec une explication détaillée. La syntaxe suivante vous aidera à obtenir la compréhension de base de l'utilisation de la fonction String Agg () dans PostgreSQL:

String_agg (valeur, délimiteur)

Dans la syntaxe ci-dessus,

  • Tout d'abord, écrivez la fonction string_agg () avec des supports (). La fonction sring_agg () prend deux paramètres.
  • Dans le premier paramètre, la «valeur» est toute valeur de texte qui est un caractère de chaîne. Si vous saisissez un autre type de données que le caractère de chaîne, cela ne prendrait pas cette valeur en entrée.
  • Dans le deuxième paramètre, le «délimiteur» sépare les chaînes concaténées.

Le string_agg () prend également la clause Order By dans l'instruction. Il est facultatif si vous souhaitez que la sortie soit dans un ordre spécifique, alors vous pouvez utiliser la clause Ordre by avec la fonction string_agg (). Vous trouverez ci-dessous un exemple d'utilisation de la clause Order By dans l'instruction:

String_agg (valeur, délimiteur [ORDAND_BY_CLAUSE])

Vous pouvez ajouter la condition spécifiée dans le 'ORDER_BY_CLAUSE' en utilisant la fonction Order By dans l'instruction comme celle-ci:

Ordre par valeur1 ASC | Desc,…

La fonction d'ordre par fonction peut être indiquée comme dans la forme ascendante ou descendante dans l'instruction en fonction de la valeur (valeur 1) écrite.

Vous pouvez également utiliser la clause Group By dans les instructions; Il raconte les lignes qui sont regroupées dans le tableau.

String_agg () Exemples de fonction dans PostgreSQL:

Pour utiliser la fonction string_agg () dans les instructions dont vous avez d'abord besoin pour créer un échantillon de table pour des exemples dans PostgreSQL. Vous trouverez ci-dessous le code pour créer un exemple de table dans PostgreSQL:

Créer des joueurs de table (
Player_name texte ,
team_name texte ,
Texte Player_positon
));

La syntaxe ci-dessus créera une table dans la base de données avec le nom «Players» et les colonnes en tant que Player_name, Team_name et Player_Position. Le PostgreSQL fournit le message suivant:

Pour vérifier que le tableau est créé avec les colonnes spécifiées, exécutez la requête sélectionnée ci-dessous:

Sélectionnez * dans "Players";

Maintenant, insérez certaines valeurs dans le tableau «Players» avec l'insert dans la commande:

Insérer dans "Players"
VALEURS («Chris», «Antilles», «Batsman»), («Shannon», «Antilles», «Bowler»),
(«Bravo», «Antilles», «batteur»);
Insérer dans "Players"
Valeurs («James», «Nouvelle-Zélande», «All Round»);
Insérer dans "Players"

Valeurs («Shaheen», «Pakistan», «Bowler»), («Sarfaraz», «Pakistan», «Wicket Keeper»);

Les valeurs ci-dessus sont insérées dans le tableau «Players» en utilisant la commande INSERT et VALEUR dans les instructions, et nous pouvons confirmer qu'en exécutant l'instruction SELECT ci-dessous:

Sélectionnez * dans "Players";

Les valeurs qui ont été spécifiées dans l'insert en commande sont maintenant exécutées avec succès et peuvent être vues dans la sortie ci-dessus.

Génération de valeurs séparées par des virgules à l'aide de string_agg () dans PostgreSQL:

Pour générer une liste de valeurs séparées par des virgules, nous utiliserons la fonction string_agg () dans l'instruction. Vous trouverez ci-dessous l'instruction pour générer des valeurs séparées par des virgules:

Sélectionnez "Team_name", String_agg ("Player_name", ',')
De "Players" Group by "Team_name";

Nous avons utilisé la fonction string_agg () pour séparer la colonne "Player_name" avec des virgules dans l'instruction SELECT. Dans le premier paramètre du string_agg (), l'expression est définie que nous voulons séparer; Dans le deuxième paramètre, nous avons utilisé des virgules ',' comme délimiteur ou séparateur pour séparer les valeurs. Nous avons utilisé le groupe par commande pour diviser les lignes par rapport à la colonne "Team_name". La sortie de la syntaxe ci-dessus s'affiche comme:

Les valeurs de "Player_name" sont concaténées par des virgules dans la sortie ci-dessus et affichées avec le "Team_name".

Séparant plusieurs colonnes avec des virgules à l'aide de string_agg () dans PostgreSQL:

Nous pouvons utiliser plus d'une fonction string_agg () dans l'instruction SEULET. L'exemple ci-dessous montre la démonstration de cela:

Sélectionnez "Team_name", string_agg ("player_name", ','), string_agg ("player_positon", ',')
De "Players" Group by "Team_name";

J'ai utilisé deux fonctions string_agg () dans deux colonnes différentes pour concaténer les valeurs des colonnes par des séparateurs de virgules. L'instruction ci-dessus montre les résultats suivants:

Il est visible que les valeurs à deux colonnes sont désormais séparées par des virgules et ont généré la liste.

Nous ne connaissons pas les noms de colonne dans la sortie ci-dessus, ils sont mentionnés sous forme de noms «string_agg» par défaut, nous pouvons spécifier les noms de colonne en utilisant comme fonction dans l'instruction ci-dessus. Ceci est la syntaxe pour utiliser AS Fonction et spécifier les noms à la colonne:

Sélectionnez "Team_name", String_agg ("Player_name", ',') en tant que joueurs_name,
String_agg ("Player_positon", ',') en tant que joueurs_positions
De "Players" Group by "Team_name";

Dans l'instruction ci-dessus, avec la fonction string_agg (), j'ai spécifié le mot-clé AS avec le nom souhaité, affichant un nom dans la colonne. Nous pouvons voir dans la sortie ci-dessous:

Les colonnes qui ont d'abord été nommées par défaut «String_agg» sont maintenant nommées respectivement «Players_name» et «Players_Positions».

Conclusion:

Nous avons appris dans cet article sur la fonction string_agg () dans PostgreSQL, sa définition, son utilisation et sa mise en œuvre. La fonction string_agg () peut être utilisée pour générer également des valeurs séparées par des virgules avec des colonnes uniques et multiples. Le mot-clé AS peut être utilisé pour afficher les noms spécifiques aux colonnes sélectionnées.