重塑 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() 聚合函数来查找每个值的最大值(即与每个唯一键关联的值)
步骤:
结论:
使用 MySQL 中的交叉表或数据透视表,可以轻松地从长而高的数据中重塑数据格式为宽格式。这是数据分析和可视化的一项有价值的技术,并且可以使用提供的代码在 MySQL 中轻松实现。
以上是如何在 MySQL 中将高数据重塑为宽数据?的详细内容。更多信息请关注PHP中文网其他相关文章!