2つの列を持つCAR
テーブルを1つ仮定します。CAR_ID (int)
およびVERSION (int)
。VS over Partitionによる比較グループ
各車の最大バージョンを取得します。
だから、(少なくとも)2つの解決策があります。
select car_id, max(version) as max_version
from car
group by car_id;
または:
select car_id, max_version
from (select car_id, version
, max(version) over (partition by car_id) as max_version
from car
) max_ver
where max_ver.version = max_ver.max_version
は、同様にパフォーマンスの高いこれらの2つのクエリはありますか?
"さらに2番目のクエリではすべての最大レコードが得られますが、最初は最大レコードが1つのみです。"私は最初の列が1つの最大値を返すと書いた理由を理解していません。 2つのクエリは同じ結果を返します – Mik378