【问题标题】:MySQL Columns Into Rows [duplicate]MySQL列成行[重复]
【发布时间】:2016-07-09 12:27:55
【问题描述】:

我正在尝试根据表中的列创建一个列表并对值求和。我有下表

id | box1 | box2 | box3
------------------------
111 | 1 | 0 | 1
111 | 0 | 1 | 1
111 | 1 | 1 | 1
111 | 0 | 0 | 1

我需要这样的结果

column | sum
------------
box1 | 2
box2 | 2
box3 | 4

我尝试合并所有并选择每一列,但我能够获得正确的列标题。我能够得到总和,但我不知道如何获取列名。

SELECT SUM(box1) as box1Count FROMqueue
UNION ALL
SELECT SUM(box2) as box2Count FROM queue
UNION ALL
SELECT SUM(box3) as box3Count FROM queue

【问题讨论】:

    标签: mysql


    【解决方案1】:

    您可以在SELECT 子句中对列值进行硬编码:

    SELECT 'box1' AS col, SUM(box1) as box1Count FROM queue
    UNION ALL
    SELECT 'box2', SUM(box2) as box2Count FROM queue
    UNION ALL
    SELECT 'box3', SUM(box3) as box3Count FROM queue
    

    【讨论】:

      猜你喜欢
      • 2012-10-21
      • 1970-01-01
      • 2012-11-15
      • 1970-01-01
      • 2015-05-25
      • 2015-09-24
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      相关资源
      最近更新 更多