【问题标题】:Mysql: obtaining two columns with different value from one column with redundant idMysql:从具有冗余ID的一列中获取具有不同值的两列
【发布时间】:2013-07-10 10:05:11
【问题描述】:

也许这是一个愚蠢的问题,但这是我在 mysql 中的第一步 环境...

我有一张这样的桌子

Id|   Name|   Objects|      Class|
1      A         5            1
2      B         10           1
3      C         21           1
4      D         6            1
5      A         10           2
6      B         18           2
7      C         7            2
8      E         65           2

I would like to have a table in php like this:

|Id|    |Name|   |Objects when Class1|   |Objects when Class2|
  1      A              5                               10
  2      B              10                              18
  3      C              21                              7
  4      D              6                               0

等等……

我的问题是在列名称中我有一些相同的元素 名称,但在考虑不同的类时具有不同数量的对象。

那么,Mysql 中的查询是在同一行上获取来自同一列的不同值,但是当有多个类时可能会有所不同? 我希望它很清楚,提前谢谢!

【问题讨论】:

    标签: php mysql multiple-columns


    【解决方案1】:

    试试这个

    SELECT Id,Name,`Objects when Class1`,`Objects when Class2`
    FROM (
    SELECT Id , Name , 
    IFNULL( max(CASE WHEN class = 1 THEN objects END ),0) AS `Objects when Class1` ,
    IFNULL( max(CASE WHEN class = 2 THEN objects END ),0) AS `Objects when Class2`
    FROM table1
    GROUP BY name
       )t
    

    DEMO HERE

    【讨论】:

    • @user2567961 这个答案对你有帮助吗?
    猜你喜欢
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 2021-01-25
    • 1970-01-01
    • 1970-01-01
    • 2012-05-25
    • 2017-04-23
    • 1970-01-01
    相关资源
    最近更新 更多