mysql

在MySQL中如何进行多维数据透视分析

小樊
81
2024-09-12 02:43:18
栏目: 云计算

在 MySQL 中,可以使用 SQL 语句和内置函数对多维数据进行透视分析

首先,创建一个示例表格,包含销售数据:

CREATE TABLE sales_data (
    product_id INT,
    region VARCHAR(255),
    month VARCHAR(255),
    revenue DECIMAL(10, 2)
);

接下来,向表格中插入一些示例数据:

INSERT INTO sales_data (product_id, region, month, revenue)
VALUES (1, 'North', 'January', 1000.00),
       (1, 'North', 'February', 1200.00),
       (1, 'South', 'January', 800.00),
       (1, 'South', 'February', 900.00),
       (2, 'North', 'January', 1500.00),
       (2, 'North', 'February', 1600.00),
       (2, 'South', 'January', 1300.00),
       (2, 'South', 'February', 1400.00);

现在,我们将使用 CASE 语句和聚合函数(如 SUM())对数据进行多维透视。以下是一个查询示例,展示了如何根据产品 ID、地区和月份对销售收入进行透视:

SELECT product_id, region,
       SUM(CASE WHEN month = 'January' THEN revenue ELSE 0 END) AS January_Revenue,
       SUM(CASE WHEN month = 'February' THEN revenue ELSE 0 END) AS February_Revenue
FROM sales_data
GROUP BY product_id, region;

这将返回以下结果:

+------------+----------+---------------+----------------+
| product_id | region   | January_Revenue | February_Revenue |
+------------+----------+---------------+----------------+
|         1  | North    | 1000.00        | 1200.00         |
|         1  | South    | 800.00         | 900.00          |
|         2  | North    | 1500.00        | 1600.00         |
|         2  | South    | 1300.00        | 1400.00         |
+------------+----------+---------------+----------------+

通过调整 CASE 语句和分组条件,你可以根据需要对数据进行不同的多维透视分析。

0
看了该问题的人还看了