More

    Comment changer le formulaire de tableau pour convertir des lignes en colonnes dans MySQL

    Méthode 2 : Utilisation de la fonction de pivot

    Une autre façon de changer la forme d’un tableau pour convertir des lignes en colonnes dans MySQL est d’utiliser la fonction pivot. La fonction pivot est une fonction qui nous permet de changer la forme d’un tableau en faisant pivoter les données des lignes vers les colonnes ou vice versa. La fonction pivot permet de transposer facilement et rapidement des tableaux.

    Cependant, MySQL n’a pas de fonction de pivot intégrée que nous pouvons utiliser directement. Par conséquent, nous devons utiliser certaines extensions ou plugins pour ajouter des fonctions de pivot à MySQL. L’une des extensions les plus populaires et les plus fréquemment utilisées est Flexviews. Flexviews est une extension qui fournit des fonctions de pivotement, de dépivotement et d’actualisation incrémentielle pour MySQL. Flexviews peut être téléchargé et installé à partir de son site officiel : https://github.com/greenlion/swanhart-tools/tree/master/flexviews

    Pour modifier la forme d’un tableau afin de convertir des lignes en colonnes à l’aide de la fonction pivot, nous devons procéder comme suit :

    • Installez et activez l’extension Flexviews dans MySQL. Suivez les instructions d’installation données sur son site officiel.
    • Créez une table temporaire qui contient les données que nous voulons mettre en forme. Les tables temporaires sont des tables qui n’existent que pendant une session MySQL et qui sont automatiquement supprimées à la fin de la session. Les tables temporaires peuvent être créées à l’aide de la commande CRÉER TABLE TEMPORAIRE. Par exemple, nous pouvons créer une table temporaire avec le nom sales_temp contenant les données de la table sales_table avec la commande suivante :
    CREATE TEMPORARY TABLE sales_temp AS
    SELECT * FROM sales_table;
    • Créez une vue qui contient la définition de la fonction de pivot que nous voulons utiliser. Une vue est un objet de base de données qui stocke les résultats d’une requête SQL sous la forme d’une table virtuelle. Les vues peuvent être créées à l’aide de la commande CREATE VIEW. Par exemple, nous pouvons créer une vue avec le nom pivot_view qui contient la définition de la fonction pivot pour modifier la forme de la table sales_temp à l’aide de la commande suivante :
    CREATE VIEW pivot_view AS
    SELECT
    FVPivot$(
    'sales_temp', -- nom de la table temporaire qui contient les données
    'category', -- le nom de la colonne qui sera la nouvelle ligne
    'month', -- le nom de la colonne qui deviendra la nouvelle colonne
    'sales', -- nom de la colonne qui contient la valeur à calculer
    'SUM', -- le nom de la fonction d'agrégation à utiliser
    NULL -- noms de colonnes supplémentaires à inclure dans le tableau des résultats (facultatif)
    ) AS pivot_result; -- nom d'alias pour le résultat de la fonction de pivot
    • Exécutez une requête SQL pour appeler la fonction pivot de la vue qui a été créée. Les requêtes SQL que nous pouvons utiliser sont les suivantes :
    SELECT * FROM pivot_view;

    Cette requête générera la table de résultats souhaitée, comme indiqué ci-dessus.

    Dernières articles