To eliminate duplicates, "picking the perfect one" is easier than "group by":
select distinct source,dest from data;
EDIT: Now I see that you are trying to get unique combinations (not including both 1.2 and 2.1). You can do it like:
select distinct source,dest from data minus select dest,source from data where source < dest
โminusโ flips the order around and excludes cases when you already have a match; "where the source <dest" does not allow to remove both (1,2) and (2,1)
source share