SQL-如果某个值存在于某个单元格中,则按在组中使用该值



很抱歉标题太糟糕了,但基本上我有这样的数据:

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

最新更新