Ceci est facilement réalisable avec l'opérateur le moins () et le plus grand (), mais comme MySQL ne les prend pas en charge, vous devez utiliser une construction CASE pour obtenir le plus petit/plus grand. Avec deux colonnes, c'est correct, mais cette solution devient assez compliquée une fois que plusieurs colonnes sont impliquées
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