本文共 608 字,大约阅读时间需要 2 分钟。
行列转换就是如下图所示两种展示形式的互相转换
行转列假如我们有下表:
SELECT name, MAX( CASE WHEN subject='语文' THEN score ELSE 0 END) AS "语文", MAX( CASE WHEN subject='数学' THEN score ELSE 0 END) AS "数学", MAX( CASE WHEN subject='英语' THEN score ELSE 0 END) AS "英语"FROM studentGROUP BY name
通过上面 SQL 语句即可得到下面的结果
列转行
假设我们有下表
SELECT NAME, '语文' AS subject , MAX("语文") AS scoreFROM student1 GROUP BY NAMEUNIONSELECT NAME, '数学' AS subject , MAX("数学") AS scoreFROM student1 GROUP BY NAMEUNIONSELECT NAME, '英语' AS subject , MAX("英语") AS scoreFROM student1 GROUP BY NAME
通过上面 SQL 语句即可得到下面的结果
转载地址:http://pnyen.baihongyu.com/