【问题标题】:MySQL transpose columns sum into rows with column names as a value [duplicate]MySQL将列总和转换为以列名作为值的行[重复]
【发布时间】:2021-06-23 09:35:16
【问题描述】:

MySQL表如下

A | B1|B2|
-----------
0 | 1 |1 |
1 | 0 |1 |
1 | 0 |1 |
1 | 0 |0 |

我需要将我的数据转置在一个只包含 2 列的表中:标签和原始列内容的总和,例如

codes | sums
------------
A     | 3
B1    | 1
B2    | 3

我不太会处理 MySQL 语法,也找不到合适的查询。我可以得到列的总和,但我仍然不明白如何转置列的名称

【问题讨论】:

    标签: mysql


    【解决方案1】:

    这可能是一个可能的解决方案:

    SELECT 'A' as `codes`, SUM(`A`) as `sums` FROM `your_table_name`
    UNION ALL
    SELECT 'B1' as `codes`, SUM(`B1`) as `sums` FROM `your_table_name`
    UNION ALL
    SELECT 'B2' as `codes`, SUM(`B2`) as `sums` FROM `your_table_name`
    

    【讨论】:

      猜你喜欢
      • 2013-10-01
      • 2023-04-07
      • 2020-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多