2013-10-07 2 views
0

account_no, date, product의 3 개 필드가있는 테이블이 있습니다.최신 제품 코드를 선택하십시오.

account_no, date별로 고유합니다.

나는 모든 account_no와 가장 최근의 제품, 즉 account_no가있는 최신 날짜의 제품을 포함하는 테이블을 생성하려고합니다.

어떻게하면됩니까?

+0

죄송합니다. 데이터 샘플을 게시 할 수 없습니다. 마음에 떠오르는 것은 두 단계로 그것을하는 것입니다. account_no, max (date)는 날짜로, inner는 account_no와 date에 의해 원래 테이블과 조인합니다. 하지만 그게 최선의 방법인지는 모르겠다. – KalEl

+1

아마도 나는 뭔가를 놓치고있다. 하지만 account_no, product별로 x 그룹에서 account_no, product, max (date)를 선택할 수 없습니까? – Andrew

+0

이 질문은 매우 일반적입니다. [tag : group-n-per-group] 태그를 추가했습니다. 과거에 제공되었던 솔루션 중 일부를 읽어야합니다. –

답변

1

그것은 아마이

select account_no, product 
    from table as T1 
    where (T1.account_no, T1.date) in (select account_no, max(date) from 
(select account_no, date from table T2 where T2.account_no = T1.account_no)) 

이 같아야 오라클/PostgreSQL의 구문입니다하지만 당신은 그것에서 아이디어를 얻을 수 있습니다.

희망이 있습니다.

관련 문제