質問: max値を条件にしたsqlで困っています。 max値を条件にしたsqlで困っています。 以下のようなデータ(例)があります。 部番a、連番1、明細・・・ 部番a、連番2、明細・・・ 部番a、連番3、明細・・・ 部番a、連番4、明細・・・ 部番b、連番1、明細・・・ 部番b、連番2、明細・・・ 部番単位で、連番が最大であるデータのみを取得したいです。 上記の例だと、 部番a、連番4、明細・・・ 部番b、連番2、明細・・・ の2件です。 sqlをご教授ください。 よろしくお願いします。
回答: select * from hoge where (部番,連番) in (select 部番,max(連番) from hoge group by 部番); とか select * from (select hoge.*,row_number() over(partition by 部番 order by 連番 desc) r from hoge) where r=1; とかで良いかと。