Maison > base de données > tutoriel mysql > Comment créer des requêtes Crosstab dans PostgreSQL à l'aide de l'extension TableFunc?

Comment créer des requêtes Crosstab dans PostgreSQL à l'aide de l'extension TableFunc?

Mary-Kate Olsen
Libérer: 2025-01-25 11:02:08
original
747 Les gens l'ont consulté

Requête Cross-Table PostgreSQL Explication détaillée: Utilisez TableFunc pour vous développer pour créer une table de perspective

How to Create Crosstab Queries in PostgreSQL Using the tablefunc Extension?

Cet article introduira en détail comment utiliser

élargir la création de requêtes de crosstab dans PostgreSQL pour réaliser la transformation des tables de perspective de données. tablefunc

Créez une requête croisée

La requête Cross-Table peut convertir les données au format de table, où la ligne représente la catégorie et les listes représentent la valeur. PostgreSQL atteint cette fonction par l'expansion

.

tablefunc Double paramètre Cross-Table Query Grammar:

Traitement du manque d'attributs:

<code class="language-sql">SELECT *
FROM crosstab(
  'SELECT row_name, category, value
   FROM base_table
   ORDER BY 1, 2',
  'SELECT DISTINCT attribute FROM base_table ORDER BY 1',
) AS ct (row_name text, column_1 type_1, ..., column_n type_n);</code>
Copier après la connexion

S'il y a un manque d'attributs dans le tableau de base, les attributs sont inclus dans le deuxième paramètre Spécifie. La valeur de l'attribut manquant sera vide. Traitement de la banque d'entrée excédentaire:

Forme de paramètre unique: La chirurgie sera rejetée, priorité plus tôt.

Formulaire de paramètre double:
    Les lignes tardives couvriront la valeur existante de la même catégorie et de la même combinaison d'attribut.
  • requête de niveau croisée de niveau élevé:
  • Perspective multi-colonnes:
  • Utilisez plusieurs clauses
dans la première requête du paramètre.

Schéma alternatif de perspective dynamique: Utiliser les instructions

et
    .
  • Utiliser ORDER BY (versions postgresql 9.6 et supérieures) dans PSQL:

  • Utilisez la commande yuan pour exécuter une requête croisée -table dans psql: CASE GROUP BY Exemple de requête:

Considérez l'exemple suivant Tableau: crosstabview pour créer une table croisée basée sur la section comme ligne, statut:

crosstabview Résultat:

<code class="language-sql">\crosstabview</code>
Copier après la connexion

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