Mysql 查询帮助–;与max不同的记录

Mysql 查询帮助–;与max不同的记录,mysql,database,postgresql,Mysql,Database,Postgresql,我有一个名为活动的表格,上面有个人、运动和参加运动的日期。例如: person | sport | date -------------------------------- jane | soccer | 09/15/2012 sam | basketball | 09/10/2012 jane | tennis | 09/12/2012 sam | basketball | 09/08/2012 sam | soccer | 09/

我有一个名为
活动
的表格,上面有个人、运动和参加运动的日期。例如:

person | sport      | date
--------------------------------
jane   | soccer     | 09/15/2012
sam    | basketball | 09/10/2012
jane   | tennis     | 09/12/2012
sam    | basketball | 09/08/2012
sam    | soccer     | 09/04/2012
jane   | tennis     | 09/01/2012
sam    | basketball | 08/27/2012
jane   | football   | 08/23/2012
我需要包含一个人参加运动的最新日期的行。结果将是:

person | sport      | date
--------------------------------
jane   | soccer     | 09/15/2012
sam    | basketball | 09/10/2012
jane   | tennis     | 09/12/2012
sam    | soccer     | 09/04/2012 
jane   | football   | 08/23/2012
你可以在这里看到,例如,简在9月1日打网球的那一排被排除在外,因为她也在较新的日期9月12日打球

这个问题是什么?我更喜欢非子查询答案,但欢迎所有答案。另外,MySQL和PostgreSQL的答案都是受欢迎的。

这里是:

      select person, sport, max( date) as date 
      from activities
      group by person, sport
这是:

      select person, sport, max( date) as date 
      from activities
      group by person, sport

您可以在PostgreSQL中使用
行编号()
(请参阅):


您可以在PostgreSQL中使用
行编号()
(请参阅):


谢谢这在没有子查询的情况下是可能的吗?在PostgreSQL中是可能的吗?我试过了,但得到了一个错误:复制粘贴精确的句子。必须在select子句中逐个列出所有非聚合列。谢谢。这在没有子查询的情况下是可能的吗?在PostgreSQL中是可能的吗?我试过了,但得到了一个错误:复制粘贴精确的句子。所有非聚合列都必须在select子句中逐一列出。嗨,蓝脚怪,阅读OP注释我改变主意了,你们的select更接近解决方案+1Hi bluefeet,阅读OP评论我改变了主意,您的选择更接近解决方案+1.