SQL服务器:如何清楚地组合我的行

时间:2016-04-20 11:07:08

标签: mysql sql join

我桌上的数据是:

**country       2010    2011     2012**
Argentina   NULL    NULL    true
Argentina   NULL    true    NULL
Argentina   true    NULL    NULL
Bolivia     NULL    NULL    true
Bolivia     NULL    true    NULL
Bolivia     NULL    NULL    NULL
Canada      NULL    NULL    true
Canada      NULL    NULL    NULL
Canada      true    NULL    NULL

我想要的是删除" NULLS"并结合" true"在数据中,它看起来像:

**country       2010    2011     2012**
Argentina   true    true    true
Bolivia     NULL    true    true
Canada      true    NULL    true

我认为我必须为这个甚至是案例陈述使用自我联接,但我不确定从哪里开始。

1 个答案:

答案 0 :(得分:2)

您应该可以使用max()聚合:

来执行此操作
select country, max(`2010`) as `2010`, max(`2011`) as `2011`, max(`2012`) as 2012
from t
group by country;