I need a query that returns all the rows from colA paired with colB but to treat the same values in the opposite direction as duplicates and to be removed.
The best
If you prefer a "clean" SQL solution (without least() or greatest()) this also does your job:
least()
greatest()
select colA, colB from your_table where colA > colB or (colB, colA) not in (select colA, colB from your_table)
SQL fiddle