我有一些记录,比如
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
但它只返回第一行
怎么样 ...
select distinct
least(col1,col2) col1,
greatest(col1, col2) col2
from
my_table
大卫的好回答,
标准 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: