在Oracle中,以下三个查询中的哪一个最有效:
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
答案 0 :(得分:1)
第一个是正确的选择,因为其他的是实现相同目标的古怪和非标准(并且有点不正常)的方式。