2017-06-02 10 views
0

で複数回表示されるエントリをフィルタリング:私は、次のデータを含むテーブルを持つテーブル

Table t1 

A  | B 
12  56 
12  56 
10  8 
10  9 
10  11 
9   55 
9   66 

私は列Aの同じ値を持つすべての列値を見つけたプログラムを記述する必要がなく、列Bの異なる値。

次のように私の結果は次のようになります

A | B 
10  8 
10  9 
10  11 
9   55 
9   66 

Aは同じであり、BAの値ごとに異なっています。

答えて

0
select distinct leftside.* 
from t1 leftside 
inner join t1 rightside 
where leftside.A = rightside.A 
and leftside.B != rightside.B 
order by A, B 

http://sqlfiddle.com/#!9/578f2f/5

0

次のクエリを試してみてください:

SELECT 
    A 
    , B 
FROM 
(
    SELECT 
     A, 
     B, 
     COUNT(*) AS Total 
    FROM 
     t1 
    GROUP BY 
     A, 
     B 
) AS Results 
WHERE 
    Results.Total = 1 

このクエリは、一度テーブルt1でより多く発生したすべてのエントリを非表示になります。

関連する問題