Maison >base de données >tutoriel mysql >Comment puis-je transposer une table PostgreSQL à l'aide de « 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"
Explication :
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!