2
PostgreSQL 데이터베이스에 날짜와 가격 열이있는 테이블이 있습니다. ('transdate'및 'price')1 년 이상 된 기간에 매주 한 행을 선택할 수 있습니까?
나는 1 년 이상 기간에 걸쳐 매주 한 행을 선택하는 쿼리를 작성하고자합니다. 내가 50보다 큰 주 간격을 연장 할 때
이;with cte as
(
select *,
row_number() over (partition by Extract (week from transdate) order by transdate desc) as rn
from "tablename" where transdate between '06-01-1999' and '06-01-1999'::timestamp + `'50 week'::interval
)
select transdate, price from cte where rn = 1 order by transdate;
그러나, 여전히 단지를 선택 : 여기에 또 다른 질문/답변에서
, 나는 년 미만의 날짜 범위 작동이 코드를 구현 최대 12 개월.
범위 내에서 매주 하나의 날짜/가격을 선택하려면 어떻게해야합니까?
예! 그거야. 나는 추출물 (일주일 transdata) + 추출물 (일년 transdate에서) 그것이 숫자에 효과가 있다고 생각했지만 노력하지 않았다. –
@ JohnSmith : 'week + year'의 문제점은 '1 + 2012'과 '2 + 2011'이 같은 것으로, 별도로 보관해야하는 사항이 혼합되어 있다는 것입니다. –