我有一些像
这样的记录a,b
b,a
a,c
c,a
b,d
d,b
b,f
f,b
...
在我的查询结果中。 (他们是电子邮件) 最好的方法是什么:
a,b
a,c
b,d
b,f
并消除b,a和c,a,d,b,f,b?
我试过
SELECT *
FROM ...
WHERE MOD(ROWNUM/2)=0
但它只返回第一行
答案 0 :(得分:7)
怎么样......
select distinct
least(col1,col2) col1,
greatest(col1, col2) col2
from
my_table
答案 1 :(得分:1)
大卫的好答案,
标准SQL的答案:
select a,b from (
select
(case when col1 < col2
then col1
else col2
end) as a,
(case when col1 > col2
then col1
else col2
end) as b
from t )
group by a,b
order by a,b;
Sqlfiddle: