如何为所有返回的mysql查询分配日期值

时间:2012-01-30 17:40:43

标签: mysql

假设我有一张表:

ID  |  Date      |  Owner   |  Activity
----------------------------------------
 1  |  1/2/2011  |  Joe     |  Login
 2  |  2/1/2011  |  Mary    |  Logout
 1  |  2/3/2011  |  Bob     |  Process
 3  |  5/6/2010  |  Harry   |  Send
 2  |  8/1/2011  |  Alice   |  Hide

如何运行检索所有值的查询,但对于日期字段,我有EACH条目的该ID的最大值(日期)。

因此,如果我选择*(与其他语句我还不知道如何运行),输出将是:

ID  |  Date      |  Owner   |  Activity
----------------------------------------
 1  |  2/3/2011  |  Joe     |  Login
 2  |  8/1/2011  |  Mary    |  Logout
 1  |  2/3/2011  |  Bob     |  Process
 3  |  5/6/2010  |  Harry   |  Send
 2  |  8/1/2011  |  Alice   |  Hide

2 个答案:

答案 0 :(得分:1)

按ID分组的子查询返回INNER JOIN的{​​{1}}应该可以完成这项工作:

MAX(Date)

答案 1 :(得分:0)

Oracle的分析功能中的

PARTITION可能是您正在寻找的另一种方式。我从来没有真正使用它,我完全没有想法,非Oracle-World是否也有这样的东西,但也许你想看看它:

祝你好运!

编辑:但是如果可能的话,如果它给你正确的结果,我会选择迈克尔的答案。