【问题标题】:MySQL: Convert Column Values to Headers with TotalsMySQL:将列值转换为带有总计的标题
【发布时间】:2015-10-26 04:39:36
【问题描述】:

我有一个结构如下的 MySQL 表“狗”:

AgLevel  DogType  Total
1        1        10
2        1        29
3        1        30
1        2        20
2        2        14
3        2        28

也就是说,有 10 只 1 型狗的 aglevel 为 1,29 只 1 型狗的 ag 水平为 2,依此类推。

我想像这样重新格式化它:

DogType   Ag1   Ag2   Ag3
1         10    29    30
2         20    14    28

所以在这里我们可以再次看到有 10 条类型为 1 的狗,其 aglevel 为 1。

我该怎么办?

【问题讨论】:

    标签: mysql header reformat


    【解决方案1】:
    select dogType, 
           sum(case when agLevel = 1 then total else 0 end) as ag1,
           sum(case when agLevel = 2 then total else 0 end) as ag2,
           sum(case when agLevel = 3 then total else 0 end) as ag3
    from dogs
    group by dogType
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-14
      • 1970-01-01
      • 2020-05-14
      相关资源
      最近更新 更多