Maison > base de données > tutoriel mysql > Comment puis-je transposer une table PostgreSQL à l'aide de « unnest() » ?

Comment puis-je transposer une table PostgreSQL à l'aide de « unnest() » ?

Linda Hamilton
Libérer: 2025-01-04 21:34:43
original
494 Les gens l'ont consulté

How Can I Transpose a PostgreSQL Table Using `unnest()`?

Transposer un tableau en convertissant des colonnes en lignes

Lorsque vous travaillez avec des tableaux dans PostgreSQL, il peut y avoir des situations où vous devez transposer un tableau , convertissant essentiellement les colonnes en lignes. Il s'agit d'une transformation utile à diverses fins d'analyse de données.

Énoncé du problème :

Vous disposez d'une fonction ou d'une table PostgreSQL qui génère des données au format suivant :

Sl.no username Designation salary etc..
1 A XYZ 10000 ...
2 B RTS 50000 ...
3 C QWE 20000 ...
4 D HGD 34343 ...

Vous souhaitez transposer ce tableau pour que le résultat apparaisse dans ce qui suit format:

Sl.no 1 2 3 4 ...
Username A B C D ...
Designation XYZ RTS QWE HGD ...
Salary 10000 50000 20000 34343 ...

Solution:

Pour réaliser cette transposition, vous pouvez utiliser la fonction unnest() de PostgreSQL. Cette fonction permet d'extraire des éléments d'un tableau et de les traiter comme des lignes individuelles.

Voici la requête qui transposera votre table :

SELECT
   unnest(array['Sl.no', 'username', 'Designation','salary']) AS "Columns",
   unnest(array[Sl.no, username, value3Count,salary]) AS "Values"
FROM view_name
ORDER BY "Columns"
Copier après la connexion

Explication :

  • Le tableau [...] construit des tableaux contenant les noms de colonnes et les valeurs correspondantes pour chacun row.
  • La fonction unnest() extrait chaque élément des tableaux et les traite comme des lignes distinctes.
  • La clause ORDER BY garantit que la table transposée a l'ordre des colonnes d'origine.

Cette requête affichera la table transposée dans le format souhaité format.

Référence :

La fonction unnest() est documentée dans la documentation PostgreSQL sous « convertingColumnsToRows ».

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal