ホームページ >データベース >mysql チュートリアル >データをアンピボットして SQL の列名を保持する方法

データをアンピボットして SQL の列名を保持する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-21 04:41:12174ブラウズ

How to Unpivot Data and Preserve Column Names in SQL?

SQL はデータを構造化し、列名を保持します

この記事では、列名を保持しながら表形式のデータを分解する方法について説明します。

StudentMarks という名前のテーブルがあり、名前、数学、科学、英語の列が含まれているとします。データ形式は次のとおりです:

<code>Name  Maths  Science  English
Tilak  90      40      60
Raj    30      20      10</code>

目標

目標は、データを次の形式に変換することです:

<code>Name  Subject  Marks
Tilak  Maths    90
Tilak  Science  40
Tilak  English  60</code>

SQL ステートメント

期待した結果を達成するには、UNPIVOT ステートメントを使用してデータ変換し、アカウント名を抽出する必要があります:

<code class="language-sql">SELECT Name, Subject, Marks
FROM StudentMarks
UNPIVOT
(
    Marks
    FOR Subject IN (Maths, Science, English)
) AS UnPvt;</code>

説明

  • UNPIVOT 句は、データを行から列に変換します。
  • FOR 句は、構造を解除する列を指定します。
  • AS UnPvt エイリアスは、構造化されたテーブルに名前を割り当てます。
  • SELECT 句は、構造化されたテーブルから列を選択します。

上記の手順により、表形式データを正常に分解し、最終結果の列名を保持することができます。

以上がデータをアンピボットして SQL の列名を保持する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。