mysql如何做数据透视

2023年 8月 10日 43.4k 0

MySQL是一个流行的关系型数据库管理系统,它可以处理高吞吐量的数据,并能很好的支持大规模数据分析。
要做数据透视,我们需要使用MySQL的功能来计算和汇总数据,以便可以轻松地将原始数据转化为更有意义和易于理解的视图。

下面是示例代码,它演示了如何使用MySQL打造数据透视:

/* 创建一个表来存储原始数据 */
CREATE TABLE sales (
product_id INT(11),
region VARCHAR(255),
amount DECIMAL(10, 2)
);
/* 插入一些数据来模拟销售数据 */
INSERT INTO sales (product_id, region, amount)
VALUES
(1, 'Asia', 100),
(1, 'Europe', 200),
(2, 'North America', 150),
(2, 'Europe', 250),
(3, 'Asia', 75),
(3, 'South America', 50);
/* 查询数据并做数据透视 */
SELECT
product_id,
SUM(IF(region = 'Asia', amount, 0)) AS asia_sales,
SUM(IF(region = 'Europe', amount, 0)) AS europe_sales,
SUM(IF(region = 'North America', amount, 0)) AS na_sales,
SUM(IF(region = 'South America', amount, 0)) AS sa_sales
FROM
sales
GROUP BY
product_id;

运行这个代码,输出结果如下:

+------------+------------+--------------+---------+----------+
| product_id | asia_sales | europe_sales | na_sales | sa_sales |
+------------+------------+--------------+---------+----------+
| 1 | 100.00 | 200.00 | 0.00 | 0.00 |
| 2 | 0.00 | 250.00 | 150.00 | 0.00 |
| 3 | 75.00 | 0.00 | 0.00 | 50.00 |
+------------+------------+--------------+---------+----------+

以上代码将原始数据转化为了一张数据透视表,其中每行代表唯一的产品ID,每列代表一种地区。可通过这种方法,很容易地将原始数据转化为更有意义和易于理解的视图,提高数据分析的效率和准确性。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论