所以我有三列

    company id     project id     approved status
       1                 3              NOT
       2                 4              APPROVED
       3                 5              null
       2                 6              NOT
       3                 7              APPROVED
       3                 8              null
       2                 9              NOT
       2                 10             APPROVED
       3                 11             null


我现在已经使用左联接实现了这一目标,我想要的是对使用GROUP BY的公司进行分组,以及如果公司ID中的任何一个具有此ID的条件,分组依据应返回的第三colApproved_status的值为APPROVED,否则为null

所以基本上我试图通过这种情况来实现一阶命令,当approved_status ='APPROVED',然后是1,否则2等,然后分组,但是由于mysql不支持分组后排序,所以我应该怎么做才能得到这个结果.. 救命 !

最佳答案

select company_id,
       case when sum(approved_status='APPROVED') > 0 then 'APPROVED'
            when sum(approved_status='NOT') > 0 then 'NOT'
            else null
       end as `status`
from your_table
group by company_id

关于mysql - 在MYSQL中用于分组依据的其他tha列的其他值中选择值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30290080/

10-11 05:20