代码之家  ›  专栏  ›  技术社区  ›  Tadija Bagarić

某些属性相同的SQL选择组

sql
  •  0
  • Tadija Bagarić  · 技术社区  · 7 年前

    假设我有一张这样的桌子

    A B C
    -----
    1 a 12
    2 a 23
    3 b 43
    4 c 25
    5 c 44
    6 d 34
    

    结果是:

    A B C
    -----
    1 a 12
    2 a 23
    4 c 25
    5 c 44
    
    2 回复  |  直到 7 年前
        1
  •  3
  •   mohan111    7 年前

    我不知道你在期待什么,但去掉B&D

    Select T.A,T.B,T.C from  Table T
    INNER JOIN (
    SELECT  B FROM Table
    groUP by b
    having count(B) > 1 )TT
    ON T.B = TT.B
    
        2
  •  1
  •   Gordon Linoff    7 年前

    只需使用 exists :

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

    t(b, a)