答案 0 :(得分:3)
这是一种应该有效的方法:
select col1, col2
from t
where col1 <= col2
union all
select col1, col2
from t
where col1 > col2 and
not exists (select 1 from t t2 where t2.col1 = t.col2 and t2.col2 = t.col1);
注意:这是一个SQL select
语句,因此它不会删除表中的行。您似乎想要查询结果,而不是修改基础表。
答案 1 :(得分:0)
我对规范的解释&#34;只保留2列的一个组合,[列]顺序不重要&#34;:
SELECT col1, col2
FROM t
WHERE col1 <= col2
UNION
SELECT col2, col1
FROM t
WHERE col1 > col2;