Questo è facilmente ottenibile con l'operatore less() e great(), ma poiché MySQL non li supporta, è necessario utilizzare un costrutto CASE per ottenere quello più piccolo/maggiore. Con due colonne va bene, ma questa soluzione diventa piuttosto disordinata quando vengono coinvolte più colonne
select distinct
case
when source < destination then source
else destination
end as source,
case
when source > destination then source
else destination
end as destination
from hyperlinks