我正在尝试摆脱SQL中的重复组,但问题是它们不是真的重复。
我有一张这样的表:
a | b
0 | 1
2 | 3
然而,该表还将B,A添加回其中,所以我最终将其作为最终表:
a | b
0 | 1
2 | 3
--------
1 | 0
3 | 2
我要做的是返回不同的对(第一个表),我遇到了问题。任何提示都将非常感谢!
答案 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