Maison >base de données >tutoriel mysql >Comment puis-je annuler le pivotement des données tout en conservant les noms de colonnes d'origine dans SQL ?

Comment puis-je annuler le pivotement des données tout en conservant les noms de colonnes d'origine dans SQL ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-21 04:51:08668parcourir

How Can I Unpivot Data While Keeping Original Column Names in SQL?

Conserver les noms de colonnes d'origine pour la déconvolution des données

La déconvolution des données (Unpivoting) est un processus de conversion de données tabulaires dans un autre format, où chaque colonne devient une ligne et ses noms de colonnes deviennent des attributs de la ligne. Bien que cela soit généralement utilisé pour remodeler les données à des fins d'analyse ou de visualisation, dans certains cas, il peut être utile de conserver les noms de colonnes d'origine.

Question :

Étant donné un tableau de données avec des noms de colonnes tels que Name, Maths, Science et English, comment déconvolutionner les données pour obtenir l'ensemble de résultats suivant ?

Name Subject Marks
Tilak Maths 90
Tilak Science 40
Tilak English 60

Solution :

Grâce à la clause UNPIVOT de SQL, on peut déconvoluer les données tout en préservant les noms de colonnes :

<code class="language-sql">select u.name, u.subject, u.marks
from student s
unpivot
(
  marks
  for subject in (Maths, Science, English)
) u;</code>
La clause

UNPIVOT convertit les colonnes Maths, Science et English en lignes, et les scores deviennent la colonne « notes » dans l'ensemble de résultats déconvolué. Dans le même temps, le nom de la colonne reste dans la colonne « sujet ».

Exemple :

Considérez l'ensemble de données suivant :

Name Maths Science English
Tilak 90 40 60
Raj 30 20 10

L'application de la requête fournie à cet ensemble de données produira les résultats souhaités :

Name Subject Marks
Tilak Maths 90
Tilak Science 40
Tilak English 60
Raj Maths 30
Raj Science 20
Raj English 10

Cette technique est utile lorsqu'il est important de conserver les noms de colonnes d'origine pour une analyse plus approfondie ou un traitement des données.

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!

Déclaration:
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