-- 示例数据表:sales
CREATE TABLE sales (
id INT AUTO_INCREMENT PRIMARY KEY,
product VARCHAR(50),
q1 INT,
q2 INT,
q3 INT,
q4 INT
);
-- 插入示例数据
INSERT INTO sales (product, q1, q2, q3, q4) VALUES
('Product A', 100, 150, 200, 250),
('Product B', 80, 120, 160, 200);
-- 使用UNION ALL将列转行
SELECT product, 'Q1' AS quarter, q1 AS sales_amount FROM sales
UNION ALL
SELECT product, 'Q2' AS quarter, q2 AS sales_amount FROM sales
UNION ALL
SELECT product, 'Q3' AS quarter, q3 AS sales_amount FROM sales
UNION ALL
SELECT product, 'Q4' AS quarter, q4 AS sales_amount FROM sales
ORDER BY product, quarter;
-- 解释说明:
-- 1. 创建了一个名为 `sales` 的表,包含产品名称和四个季度的销售数据。
-- 2. 插入了一些示例数据。
-- 3. 使用 `UNION ALL` 将每个季度的销售数据从列转换为行。每个 `SELECT` 语句选择一个季度的数据,并将其与产品名称一起返回。
-- 4. 最后按产品名称和季度排序,确保结果有序。
上一篇:mysql排序
下一篇:mysql索引类型
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站