2014-10-22 2 views
0

SQL 쿼리에 문제가 있습니다. 나는 각 이메일에 대한 가장 최근의 출원 구입을 선택합니다MYSQL : 여러 열에서 최대 날짜 선택

id  email    status  date 
1  [email protected]  confirmed 2014-10-01 
2  [email protected]  confirmed 2014-10-02 
3  [email protected]  pending  2014-10-02 
4  [email protected]  pending  2014-10-02 
5  [email protected]  pending  2014-10-03 
6  [email protected]  pending  2014-10-03 
7  [email protected]  pending  2014-10-04 
8  [email protected]  pending  2014-10-04 
9  [email protected]  pending  2014-10-05 

, 그래서 기대하고있어 결과는 다음과 같습니다 : 이 내 구매 테이블 내가 이것을 달성 할 수있는 방법

id  email     status  date 
6  [email protected]  pending  2014-10-03 
7  [email protected]  pending  2014-10-04 
9  [email protected]  pending  2014-10-05 

어떤 아이디어 ?
미리 감사드립니다.

답변

1

당신은 하위 쿼리와 함께이 작업을 수행 할 수 있습니다

select p.* 
from purchase p join 
    (select email, max(id) as maxid 
     from purchase 
     where status = 'pending' 
     group by email 
    ) pmax 
    on p.id = pmax.maxid; 

이 "가장 최근"가장 큰 id로 한 것으로 가정합니다.

+0

감사합니다. 매력적이었습니다. – Gerardo