SQL-如果单元格中存在值,请在group by中使用该值
很抱歉这个糟糕的标题,但基本上我有以下数据:SQL-如果单元格中存在值,请在group by中使用该值,sql,oracle,Sql,Oracle,很抱歉这个糟糕的标题,但基本上我有以下数据: STATUS | ID | Num | Name -------------------------- Active | 1 | 1A | Jo InActive | 1 | 1A | Jo Active | 2 | 1B | Phil InActive | 3 | 1C | Dave 这就是我要带回来的桌子 STATUS | ID | Num | Name -------------------------- Ac
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既有一个活动行,也有一个非活动行。但是,对于具有多行且状态列中其中一行的值处于活动状态的任何人,我希望这是最重要的因素
我试过各种分组陈述和案例陈述,但都没有快速的结果
有什么方法可以轻松获得我需要的吗?只需按
分组即可。使用MIN()
select min(STATUS), ID, Num, Name
from tablename
group by ID, Num, Name
只需按
分组即可。使用MIN()
select min(STATUS), ID, Num, Name
from tablename
group by ID, Num, Name
太棒了-谢谢你-这完美地回答了这个问题,事后看来,非常好easy@nikhilsugandh,我在样本数据中找不到任何重复项。但是,如果存在,则只返回一个。你喜欢什么?(“状态”列中其中一行的值处于活动状态”)太棒了-谢谢-这完美地回答了这个问题,事后看来,非常棒easy@nikhilsugandh,我在样本数据中找不到任何重复项。但是,如果存在,则只返回一个。你喜欢什么?(“状态”列中其中一行的值为“活动”)