首页 > 数据库 > mysql教程 > 如何在 SQL 中逆透视数据并保留列名?

如何在 SQL 中逆透视数据并保留列名?

Mary-Kate Olsen
发布: 2025-01-21 04:41:12
原创
124 人浏览过

How to Unpivot Data and Preserve Column Names in SQL?

SQL解构数据并保留列名

本文将指导您如何解构表格数据并同时保留列名。

示例

假设有一个名为StudentMarks的表格,包含Name、Maths、Science和English列。数据格式如下:

<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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板