很抱歉标题太糟糕了,但基本上我有这样的数据:
STATUS | ID | Num | Name
--------------------------
Active | 1 | 1A | Jo
InActive | 1 | 1A | Jo
Active | 2 | 1B | Phil
InActive | 3 | 1C | Dave
这将是我想要带回的桌子
STATUS | ID | Num | Name
--------------------------
Active | 1 | 1A | Jo
Active | 2 | 1B | Phil
InActive | 3 | 1C | Dave
因此,Jo既有活动行,也有非活动行。然而,对于任何有多行并且状态列中其中一行的值为Active的人,我希望这是的首要因素
我试过各种各样的小组和案例陈述,但都没有很快得到。
有没有办法轻易地得到我需要的东西?
只需执行GROUP BY
。使用MIN()
在InActive之前选择Active。
select min(STATUS), ID, Num, Name
from tablename
group by ID, Num, Name