row_number 함수를 사용한 방법입니다~
재고가 같다면 rank 함수를 사용하거나 다른 기준이 필요할 것 같습니다.
with t (판매번호, 재고, 이름, 종류) as (
select 1, 3, '양배추', '야채' from dual union all
select 2, 1, '양배추', '야채' from dual
)
select * from (
select 판매번호, 재고, 이름, 종류, row_number() over (partition by 이름, 종류 order by 재고 desc) rn from t)
where rn = 1