0

次のデータがあるとします。

id1   id2    data
----------------------
7     8      test1
7     8      test2
8     7      test1
8     7      test2

私のニーズでは、id1 と id2 を入れ替えることができるため、これは本質的に重複データです。id1/id2 の組み合わせを 1 つだけ選択し、それらの一意の値をすべて選択するにはどうすればよいですdataか? したがって、望ましい出力は次のようになります。

7   8   test1
7   8   test2

また

8   7   test1
8   7   test2

どちらでも構いません。

4

2 に答える 2

4

本当にすべてのレコードがこのように複製されている場合id1!=id2、これは機能しますか?

select distinct id1, id2, data from test where id1 < id2
于 2012-07-21T20:54:07.100 に答える
0

レコードが重複していない場合は、次のことができます。

select distinct (case when id1 < id2 then id1 else id2 end) as idlow,
       (case when id1 < id2 then id2 else id1 end) as idhigh,
       data
from table t
于 2012-07-21T21:59:04.227 に答える