我有一个表有两个字段,比如col1和col2
DATA AS
col1,col2
10,age
20,30
30,param
age,10
30,20
param,30
每行重复但反向列顺序
say
10,age
age,20
在我的最终输出中,我只想在复制的一行中出现单行,所以最后 输出就像
col1,col2
10,age
20,30
30,param
根据给定的场景
,将只剩下三行休息行我尝试了很多不同的方法但找不到解决方案。 因此,如果你们中的任何人可以提供帮助或只是提供方法,那么这将是一个很好的帮助
由于
答案 0 :(得分:3)
select distinct col1,col2 from t t1
where col1<=col2
or not exists (select 1 from t where t.col1=t1.col2
and
t.col2=t1.col1)
答案 1 :(得分:1)
您可以使用 Greatest and Least
执行相同操作select distinct
least("col1","col2") AS "col1"
,greatest("col1","col2") as "col2"
from Table1
order by "col1"
<强> SQL Fiddle 1 强>
根据更新的问题 SQL Fiddle 2
答案 2 :(得分:0)
这不应该足够吗?
SELECT *
FROM Data
WHERE Col1 < Col2
(如果您确定每一行都有重复的对)