crosstab()
La fonction crosstab()
de PostgreSQL simplifie l'analyse des données en transformant les données du tableau en un format croisé plus lisible. Cette technique puissante permet une interprétation plus facile d'ensembles de données complexes.
Avant de commencer, assurez-vous que l'extension tablefunc
est installée. Cette extension fournit la fonction crosstab()
nécessaire. Utilisez cette commande pour l'installer :
<code class="language-sql">CREATE EXTENSION IF NOT EXISTS tablefunc;</code>
La syntaxe de la fonction crosstab()
est simple :
<code class="language-sql">crosstab(query, category_query)</code>
query
: Une déclaration SELECT
fournissant les données à croiser.category_query
: une instruction SELECT
définissant les catégories pour les colonnes du tableau croisé.Illustrons avec un exemple. Supposons que nous ayons une table nommée tbl
contenant les données que nous souhaitons croiser :
<code class="language-sql">SELECT * FROM crosstab( 'SELECT section, status, COUNT(*) AS ct FROM tbl GROUP BY section, status', 'SELECT DISTINCT status FROM tbl' ) AS ct ("Section" text, "Active" int, "Inactive" int);</code>
Cette requête génère un tableau croisé affichant le nombre de statuts « Actif » et « Inactif » pour chaque « Section ». Le résultat pourrait ressembler à :
<code> Section | Active | Inactive ---------+--------+---------- A | 1 | 2 B | 4 | 5 C | 0 | 7</code>
La fonction crosstab()
offre un moyen flexible d'analyser les données de n'importe quelle table, améliorant considérablement la lisibilité des données et les capacités analytiques de PostgreSQL. N'oubliez pas d'ajuster les noms de colonnes et les types de données dans la clause AS ct
pour qu'ils correspondent à vos données spécifiques.
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!