Maison > base de données > tutoriel mysql > Comment puis-je annuler le pivotement des données et conserver les noms de colonnes dans SQL ?

Comment puis-je annuler le pivotement des données et conserver les noms de colonnes dans SQL ?

Linda Hamilton
Libérer: 2025-01-21 04:33:08
original
240 Les gens l'ont consulté

How Can I Unpivot Data and Retain Column Names in SQL?

Utilisez l'opération "inverse" pour reconstruire les données et conserver les noms de colonnes

L'opération "inverse" est un outil important pour reconstruire des données tabulaires. Elle peut convertir les données du format orienté colonne au format orienté ligne. Un scénario courant consiste à extraire les données et les noms de colonnes de la table d'origine.

Considérez le tableau suivant appelé StudentMarks, qui suit les performances des élèves dans différentes matières :

姓名 数学 科学 英语
Tilak 90 40 60
Raj 30 20 10

Le résultat souhaité est un tableau reconstitué à trois colonnes : nom, sujet et score :

姓名 科目 分数
Tilak 数学 90
Tilak 科学 40
Tilak 英语 60

Pour y parvenir, nous pouvons utiliser l'opération "inverser" comme indiqué ci-dessous :

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

Cette requête inverse avec succès les données de la table StudentMarks tout en préservant les informations de nom et de compte. La clause "FOR" spécifie les noms de colonnes à partir desquelles les données seront extraites.

Comme vous l'avez mentionné, votre requête d'origine a réussi à inverser les valeurs de nom et de fraction, mais il manquait la colonne de compte. La requête modifiée résout ce problème en incluant la colonne de compte dans la liste de sélection finale.

Cette solution offre un moyen flexible de reconstruire des données tabulaires, permettant l'extraction des valeurs de données et des noms de colonnes correspondants.

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