如何在同一表的一列中查找重复值,在另一列中查找不同值?

时间:2019-12-10 13:32:19

标签: sql sql-server

我想选择在同一表中具有相同 SrlNbr 值和不同 Type 的所有行。 我尝试了很多方法,但是没有用。请帮忙。

示例我要列出ID为:1,2、5,6而不是3,4

2 个答案:

答案 0 :(得分:1)

您可以使用print (df.groupby('A')['B'].agg(pd.Series.nunique))

print (df.groupby('A')['B'].apply(pd.Series.nunique))
A
1    1
2    1
Name: B, dtype: int64

如果您只想使用不同类型的exists,那么聚合很方便:

select t.*
from t
where exists (select 1
              from t t2
              where t2.SrlNbr = t.SrlNbr and t2.type <> t.type
             );

答案 1 :(得分:1)

对于您的问题,我有一个简单的解决方案,只需将表名放在您的表处即可。

请检查下面的查询。

SELECT a.ID
    ,a.SrlNbr
    ,a.Type
    ,a.[Desc]
FROM Your_Table AS a
INNER JOIN Your_Table AS b ON a.SrlNbr = b.SrlNbr
WHERE a.Type != b.Type
相关问题