0

这是我的桌子

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

好吧,我想选择每个人的分数,但是 withlimit 1表示如果 John 有两个或多个分数,我想选择一个最近的女巫。像这样

输出:

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

我应该使用 Group by 吗?

4

1 回答 1

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
于 2012-07-26T04:11:04.100 回答