首页 > 数据库 > mysql教程 > 如何在 MySQL 中将高数据重塑为宽数据?

如何在 MySQL 中将高数据重塑为宽数据?

Linda Hamilton
发布: 2024-12-20 19:38:13
原创
168 人浏览过

How to Reshape Tall Data to Wide Data in MySQL?

重塑 MySQL 中的数据:从高到宽

在数据库中处理数据时,通常需要从长、高格式到更宽格式。这种转换使您可以更轻松地以更紧凑、更有意义的方式分析和可视化数据。

示例:

考虑一个包含长格式数据的表:

| country | key | value |
|---|---|---|
| USA | President | Obama |
| USA | Currency | Dollar |
| China | President | Hu |
| China | Currency | Yuan |
登录后复制

在此格式中,每行代表一个国家/地区的单个属性。要将这些数据转换为宽格式,我们将创建一个新表,其中包含每个唯一键的列,并使用每个国家/地区的相应值填充它们:

| country | President | Currency |
|---|---|---|
| USA | Obama | Dollar |
| China | Hu | Yuan |
登录后复制

SQL 转换:

MySQL 提供了使用交叉表或数据透视表重塑数据的能力。下面是一个示例查询,它将生成所需的宽格式表:

SELECT country, 
       MAX( IF( key='President', value, NULL ) ) AS President,
       MAX( IF( key='Currency', value, NULL ) ) AS Currency
FROM table
GROUP BY country;
登录后复制

此查询使用 MAX() 聚合函数来查找每个值的最大值(即与每个唯一键关联的值)

步骤:

  1. 创建表:执行上面的 SELECT 查询以创建具有所需宽格式的新表.
  2. 填写值:查询将自动填充基于聚合的值。

结论:

使用 MySQL 中的交叉表或数据透视表,可以轻松地从长而高的数据中重塑数据格式为宽格式。这是数据分析和可视化的一项有价值的技术,并且可以使用提供的代码在 MySQL 中轻松实现。

以上是如何在 MySQL 中将高数据重塑为宽数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

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