In Oracle, which of the following three queries is most efficient:
SELECT DISTINCT a, b
FROM tab
SELECT a, b
FROM tab
GROUP BY a, b
SELECT a, b
FROM
(SELECT a, b, row_number() OVER (PARTITION BY a, b ORDER BY a, b) rn
FROM tab )
WHERE rn = 1