行列转换:MySQL中的数据变形魔法

行转列

使用CASE函数+聚合函数

sql 复制代码
SELECT
    MAX(CASE WHEN salesperson = 'John' THEN sales_amount END) AS John_Sales,
    MAX(CASE WHEN salesperson = 'Alice' THEN sales_amount END) AS Alice_Sales
FROM sales_data;

列转行

使用UNIO连接每列数据

sql 复制代码
SELECT product_id,'store1' store,store1 price FROM products WHERE store1 IS NOT NULL
UNION 
SELECT product_id,'store2' store,store2 price FROM products WHERE store2 IS NOT NULL
UNION
SELECT product_id,'store3' store,store3 price FROM products WHERE store3 IS NOT NULL
相关推荐
鱼儿也有烦恼几秒前
MySQL最新安装、连接、卸载教程(Windows下)
mysql·navicat
Databend1 小时前
大数据是不是凉了?
数据库
学也不会1 小时前
雪花算法
java·数据库·oracle
瀚高PG实验室2 小时前
数据库未正常关闭后,再次启动时只有主进程,数据库日志无输出
数据库
异常君3 小时前
MySQL 查询优化:JOIN 操作背后的性能代价与更优选择
后端·mysql·性能优化
LG.YDX3 小时前
MySQL:13.用户管理
数据库·mysql
晓柏3 小时前
常用数据库备份与恢复
数据库
二胖_备份管理员3 小时前
ORACLE数据库备份入门:第四部分:2-备份场景举例
数据库·oracle·备份·备份场景
聪明的墨菲特i4 小时前
SQL进阶知识:六、动态SQL
数据库·sql·sql注入·动态sql·prepare·execute
PingCAP4 小时前
APTSell x TiDB AutoFlow:AI 数字员工,助力销售业绩持续增长
数据库