Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Oracle では、次の 3 つのクエリのうちどれが最も効率的ですか。
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
最初のものは正しい選択です。他の方法は、同じ目的を達成するための風変わりで非標準的な (そして少しひねくれた) 方法だからです。