2012-07-26 5 views
0

이 내 테이블PHP는 MySQL을 선택 중복

id name score date 
1  John 5  2012-01-14 
2  smith 7  2012-01-12 
3  mariah 9  2012-03-22 
4  John 8  2012-05-23 

글쎄, 나는 각 사람의 점수를 선택하기를 원하지만 limit 1와 요한 두 개 이상의 점수가 경우, 내가 원하는 것을 의미한다 한 마녀를 선택하면 더 최근입니다.

id name score date 
2  smith 7  2012-01-12 
3  mariah 9  2012-03-22 
4  John 8  2012-05-23 

I에 의해 그룹을 사용해야이

출력과 같은 ?

답변

0

어떻게

SELECT mt.* 
FROM MyTable mt INNER JOIN 
     (
      SELECT Name, 
        MAX(date) date 
      FROM MyTable 
      GROUP BY Name 
     ) lastDate ON mt.Name = lastDate.Name 
        AND mt.date = lastDate.date 
+0

좋은 아이디어 덕분에 같은 약 – Alireza