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

mysql unpivot

作者:黑白灰调   发布日期:2026-06-28   浏览:110

-- 示例数据表:sales
-- +--------+-------+-------+-------+
-- | product| q1    | q2    | q3    |
-- +--------+-------+-------+-------+
-- | A      | 100   | 150   | 200   |
-- | B      | 120   | 180   | 240   |
-- +--------+-------+-------+-------+

-- 使用UNION ALL实现UNPIVOT操作
SELECT product, 'q1' AS quarter, q1 AS sales FROM sales
UNION ALL
SELECT product, 'q2' AS quarter, q2 AS sales FROM sales
UNION ALL
SELECT product, 'q3' AS quarter, q3 AS sales FROM sales;

-- 结果:
-- +--------+---------+-------+
-- | product| quarter | sales |
-- +--------+---------+-------+
-- | A      | q1      | 100   |
-- | A      | q2      | 150   |
-- | A      | q3      | 200   |
-- | B      | q1      | 120   |
-- | B      | q2      | 180   |
-- | B      | q3      | 240   |
-- +--------+---------+-------+

解释说明:

  • UNPIVOT操作是将宽表转换为长表的过程。在这个例子中,我们将sales表中的季度列(q1, q2, q3)转换为行。
  • 使用UNION ALL将每个季度的销售数据分别选择出来,并将它们合并成一个结果集。
  • 每个SELECT语句选择了产品名称、季度名称和对应的销售额,并将它们组合在一起形成最终的结果。

上一篇:mysql json 解析

下一篇:mysql取最大值的那一行

大家都在看

mysql二级索引

mysqlavg函数保留小数

mysql显示表内容

mysql收集表统计信息

mysql经纬度距离计算

mysql 加密

mysql大小写转换函数

存储过程mysql

mysql 1265

mysql with语句

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

Laravel 中文站