删除SQL中的“重复”组

时间:2013-02-11 16:30:54

标签: sql oracle

我正在尝试摆脱SQL中的重复组,但问题是它们不是真的重复。

我有一张这样的表:

a  |  b

0  |  1
2  |  3

然而,该表还将B,A添加回其中,所以我最终将其作为最终表:

a  |  b

0  |  1
2  |  3
--------
1  |  0
3  |  2

我要做的是返回不同的对(第一个表),我遇到了问题。任何提示都将非常感谢!

1 个答案:

答案 0 :(得分:2)

试试这个:

select distinct (case when a < b then a else b end) as First,
       (case when a < b then b else a end) as Second
from t

如果您使用的是Oracle(这是SQLPlus的假设),您可以将其简化为:

select distinct least(a, b), greatest(a, b)
from t