0
我試圖擺脫SQL中的重複組,但問題是他們不是真的重複。刪除SQL中的「重複」組
我有這樣的一個表:
a | b
0 | 1
2 | 3
然而,該表還增加了B,A放回它,所以我結束了這個作爲最終的表:
a | b
0 | 1
2 | 3
--------
1 | 0
3 | 2
我試圖做的是返回不同的對(第一個表),並且我遇到了問題。任何提示將不勝感激!
我試圖擺脫SQL中的重複組,但問題是他們不是真的重複。刪除SQL中的「重複」組
我有這樣的一個表:
a | b
0 | 1
2 | 3
然而,該表還增加了B,A放回它,所以我結束了這個作爲最終的表:
a | b
0 | 1
2 | 3
--------
1 | 0
3 | 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
啊,是的,這是非常有道理的。感謝您的快速回復! – jongusmoe 2013-02-11 16:37:10
'1,0'是不一樣的'0,1'。 – Kermit 2013-02-11 16:32:00
在你的例子中,一切都是截然不同的。你不能也不會得到比戈登更好的答案。 – Art 2013-02-11 16:38:46
這或多或少與此問題相同:http://stackoverflow.com/q/14810824/330315 – 2013-02-11 17:33:01