下面有一张包含样本数据的表格。
PatId NetType
100 In
100 Out
100 NA
101 Out
101 NA
102 NA
103 In
当同一患者有多个netTypeid时,只返回由(In,Out,NA)优先排序的前一个作为顺序。当我有一个可用于patid的In / Out / NA时我想要做的事情应该只返回In,当有一个patid的Out / NA时它应该只返回In.If没有重复只返回as是。上述场景的输出应为
PatId NetType
100 In
101 Out
102 NA
103 In
答案 0 :(得分:3)
使用row_number()
按NetType
select
PatId, NetType
from (
select
PatId, NetType
, row_number() over (partition by PatId order by case NetType when 'In' then 1 when 'Out' then 2 else 3 end) rn
from
myTable
) t
where
rn = 1
答案 1 :(得分:1)
与uzi相似
Name HDDs Total Size In GB HDDs FreeSpace
---- --------------------- --------------
C: 146 6
E: 205 35