Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

mysql列转行

作者:尛丸子的天真▍我学不会゜   发布日期:2025-10-27   浏览:29

-- 示例数据表: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索引类型

大家都在看

mysqlavg函数保留小数

mysql显示表内容

mysql经纬度距离计算

mysql 加密

存储过程mysql

mysql with语句

mysql时间加减

mysql查询表名,模糊匹配

brew 启动mysql

unsigned在mysql中是什么意思

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站