1
각 치즈 ID의 최대 값 (seq_no)이 MOLD 인 치즈에 대한 치즈 및 신선한 치즈를 얻으려면 FRESHNESS로 내 치즈 테이블에 가입하고 싶습니다.rank()를 내부 조인과 함께 사용하려면 어떻게해야합니까?
rank()를 사용하는 경우 어디에서 FRESHNESS에 가입해야하나요?
CHEESE FRESHNESS
CHEESE_ID SEQ_NO FRESH_CODE FRESH_CODE FRESH_DESC
================================= ========================
1 1 MOLD MOLD MOLDY CHEESE
1 23 FRSH FRSH EDIBLE
1 34 FRSH
2 2 FRSH
2 18 MOLD
3 3 MOLD
3 5 MOLD
3 7 MOLD
DESIRED RESULT
==========================
CHEESE_ID SEQ_NO FRESH_CODE FRESH_DESC SEQ_RANK
2 18 MOLD MOLDY CHEESE 1
3 7 MOLD MOLDY CHEESE 1
다음은 원하는 일련 번호를 얻기 위해 사용하는 코드입니다.
select
cheese_id,seq_no,fresh_code,seq_rank
from (select
cheese_id,seq_no, fresh_code,
rank() over (partition by cheese_id
order by seq_no desc) seq_rank
from cheese
where seq_rank = 1
and fresh_code = 'MOLD'