行列转换: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
相关推荐
heze091 分钟前
sqli-labs-Less-50
数据库·mysql·网络安全
gechunlian888 分钟前
redis exporter手册
数据库·redis·缓存
木易 士心20 分钟前
深入理解 MySQL 权限撤销(REVOKE)机制:从语法到安全实践
数据库·后端·mysql·安全
小龙报35 分钟前
【数据结构与算法】栈和队列的综合应用:1.用栈实现队列 2.用队列实现栈 3.设计循环队列
c语言·数据结构·数据库·c++·redis·算法·缓存
dapeng287039 分钟前
使用Fabric自动化你的部署流程
jvm·数据库·python
sxhcwgcy1 小时前
Spring.factories
java·数据库·spring
Mike117.1 小时前
GBase 8a 数据同步实践:从 T+1 同步、实时镜像到一写多读的落地思路
java·服务器·数据库
eggwyw1 小时前
Redis 设置密码(配置文件、docker容器、命令行3种场景)
数据库·redis·docker
油丶酸萝卜别吃1 小时前
Redis 通常应用于哪些场景?
数据库·redis·缓存
zhoupenghui1681 小时前
redis 快速链表 详解
数据库·redis·链表·quicklist·快速链表