쿼리 및 데이터베이스에는별로 좋지 않습니다. 나는오라클은 한 달 동안 마지막 날짜를 얻습니다.
Date ID Value
20160601 1 300
20160607 1 301
20160601 2 600
20160607 2 601
20160501 1 250
20160507 1 240
20160501 2 800
20160507 2 801
내 요구 사항은 각 ID에 대한 해당 월의 마지막 날짜를 선택하고 값을 표시하는 것입니다 다음과 같은 데이터 테이블이 있습니다. 예를 들어, 내가 선택하는 경우 월 (5) 결과는 다음과 같습니다 사용자가 입력 할 월을 기준으로
Date ID Value
20160507 1 240
20160507 2 801
등등.
나는 단순 해 보일지 모르지만 나는 정말로 붙어있어 도움이된다고 생각합니다. 감사.
select date, id, value
from (select date, id, value,
row_number() over (partition by id order by date desc) as rn
from tbl
where extract(month from date) = 5)
where rn = 1
: date
가정
모든 ID는 항상 모든 날짜에 존재합니다. ID 1과 ID 2는 한 달 내에 최대 날짜가 다를 수 있습니까? 그들이하는 경우 어떻게해야합니까? –