使用NULL值对字符串进行分组

时间:2013-10-08 18:29:02

标签: mysql

我有一个包含许多订单的数据集,每个订单都包含订单商品。我有逻辑寻找特定的订单项..

order_id    status  
2933475 PAID    \N  
2933475 PAID    \N  
2933475 PAID    VALUE  
2933475 PAID    \N  

包含VALUE的订单项可能会显示在任何订单项中,也可能根本不显示。当我按order_id分组时,我希望它为每个订单ID显示VALUE,如果不存在则显示\ N。

我认为使用COALESCE()会执行此操作,但在对此订单进行分组时,我仍然会收到NULL。

1 个答案:

答案 0 :(得分:1)

根据您的表/查询结构,这样的事情可能有效:

select 
    order_id, 
    max(case when status = 'VALUE' then status else NULL end) as status
from table
group by order_id