php-mysql选择重复


php mysql select duplicate

这是我的表

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

我应该使用分组依据吗?

像这样的东西怎么样

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