假设我有一张包含以下记录的表......
ResumeId Action
39092 DEV
39092 C
39092 C
39096 C
39096 C
39098 CONF
39098 CONF
如何对它们进行分组以使输出看起来像这样?在下面的情况中,由于ResumeId = 39092
至少有一个DEV
记录,因此分组结果应返回DEV
...
ResumeId Action
39092 DEV
39096 C
39098 CONF
答案 0 :(得分:3)
这是一种方法:
select resumeid,
(case when max(action) = min(action) then max(action)
when sum(case when action = 'DEV' then 1 else 0 end) > 0 then 'DEV'
else '??'
end)
from t
group by resumeid;
如果有多个actions
,则您的规则不会指定要执行的操作,但没有DEV
。