mysql - 数据透视表sql

标签 mysql sql pivot

我有这张表:

|............id.............|............a............. |.............b............|
|...........123qwe....      |...........0.............  |.............13...........|

我需要像这样旋转它:

|.........id................|........indicator....      |.............value........ |
|...........123qwe....      |...........a.............  |.............0.............|
|...........123qwe....      |...........b.............  |.............13........... |

有超过 100 列以指示器作为标题(a、b、c、d、e、f...),因此需要某种循环。

最佳答案

 SELECT id, 'a', SUM(a)
 FROM yourtable
 GROUP BY id
 UNION 
 SELECT id, 'b', SUM(b)
 FROM yourtable
 GROUP BY id
 UNION
 ...

像往常一样,正确的答案是标准化您的架构。

关于mysql - 数据透视表sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53614268/

相关文章:

java - 立即更新到 Java 中的 JCombobox

mysql - 如何在SQL中创建时间属性?

SQL - 聊天数据库模式以删除一侧或两侧的对话

mysql - 如何使用 group by 子句对数据透视表 (MySQL) 中的列值进行小计

c# - 为什么此 Entity Framework LINQ 查询不会产生 SELECT DISTINCT?

mysql - SQL INTERVAL 不适用于 openshift

postgresql - 如何旋转表格以显示两个单独的列

apache-spark - 在pySpark中使用数字和分类值对两列进行透视

sql - 扁平化/反规范化 SQL 查找表的最佳方法?

mysql - 限制组中的每个组