Connexion de la valeur de la ligne de données PostgreSQL
Dans les opérations de bases de données relationnelles, il est souvent nécessaire de traiter les données avant d'obtenir le résultat final. Une tâche courante consiste à concaténer les valeurs de plusieurs lignes en fonction d'un identifiant commun. Dans PostgreSQL, la fonction GROUP_CONCAT
fournit une solution simple pour cela.
GROUP_CONCAT
FonctionPostgreSQL version 9.0 et versions ultérieures ont introduit la GROUP_CONCAT
fonction d'agrégation, qui prend un ensemble de valeurs dans une colonne et les concatène en une seule chaîne. La syntaxe de GROUP_CONCAT
est la suivante :
<code class="language-sql">GROUP_CONCAT(DISTINCT expression [ORDER BY expression] [separator])</code>
Paramètres :
Considérez le tableau suivant nommé "sample_data" :
id | value |
---|---|
TM67 | 4 |
TM67 | 9 |
TM67 | 72 |
TM99 | 2 |
TM99 | 3 |
Pour joindre les valeurs dans la colonne "valeur" pour chaque "identifiant" unique, nous pouvons utiliser GROUP_CONCAT
comme ceci :
<code class="language-sql">SELECT id, GROUP_CONCAT(value) AS concatenated_values FROM sample_data GROUP BY id;</code>
Cette requête produira le résultat suivant :
id | concatenated_values |
---|---|
TM67 | 4,9,72 |
TM99 | 2,3 |
Comme vous pouvez le constater, les valeurs de chaque "id" sont concaténées et séparées par des virgules.
À partir de PostgreSQL version 9.0, une syntaxe alternative pour GROUP_CONCAT
peut être utilisée :
<code class="language-sql">SELECT id, string_agg(value, ',') AS concatenated_values FROM sample_data GROUP BY id;</code>
Cette syntaxe est équivalente à la syntaxe GROUP_CONCAT
décrite ci-dessus.
Vous pouvez facilement joindre plusieurs lignes de données dans PostgreSQL en utilisant la fonction GROUP_CONCAT
ou string_agg
. La syntaxe que vous choisissez dépend de votre version de PostgreSQL et de vos préférences personnelles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!