2013-02-11 7 views
0

Je tente de me débarrasser des groupes en double dans SQL, mais le problème est qu'ils ne sont pas vraiment dupliqués .Suppression des groupes "en double" dans SQL

J'ai une table comme ceci:

a | b 

0 | 1 
2 | 3 

cependant, la table ajoute B, A nouveau dans si je me retrouve avec ce que la table finale:

a | b 

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

Ce que je J'essaie de faire est de retourner les paires distinctes (la première table), et j'ai des problèmes avec cela. Tous les conseils seraient très appréciés!

+3

'1 0', ne sont pas les mêmes que '0, 1'. – Kermit

+0

Tout est distinct dans votre exemple. Vous ne pouvez pas et ne recevrez pas une meilleure réponse que celle de Gordon. – Art

+0

C'est plus ou moins la même chose que cette question: http://stackoverflow.com/q/14810824/330315 –

Répondre

2

Essayez ceci:

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 

Si vous utilisez Oracle (qui est la prise en charge avec SQLPlus), vous pouvez simplifier ceci:

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

Ah oui, c'est tout à fait logique. Merci pour la réponse rapide! – jongusmoe

Questions connexes