行列转换: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
相关推荐
山峰哥几秒前
数据库工程实战:一招实现 SQL 查询速度 10 倍提升
android·数据库·sql·编辑器·深度优先
中环留念4 分钟前
MySQL的索引语法详解
数据库·mysql·索引
heze0917 分钟前
sqli-labs-Less-15自动化注入方法
mysql·网络安全·自动化
java_logo22 分钟前
MySQL Docker 容器化部署全指南
数据库·mysql·docker·mysql部署·mysql部署文档·mysql部署方案·mysql部署手册
曾几何时`23 分钟前
MySQL(六)视图特性
数据库·mysql
-XWB-24 分钟前
【MySQL】从零搭建高性能、高可用的 MySQL 8.0 环境(附 XtraBackup 自动备份方案)
数据库·mysql
静听山水27 分钟前
StarRocks创建表
数据库
紫小米28 分钟前
Function calling实践
java·前端·数据库
云和恩墨36 分钟前
技术时刻丨GaussDB使用DBLINK连接到Oracle
数据库·oracle·gaussdb