假设我有一张表:
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
答案 0 :(得分:1)
按ID分组的子查询返回INNER JOIN
的{{1}}应该可以完成这项工作:
MAX(Date)
答案 1 :(得分:0)
PARTITION
可能是您正在寻找的另一种方式。我从来没有真正使用它,我完全没有想法,非Oracle-World是否也有这样的东西,但也许你想看看它:
祝你好运!
编辑:但是如果可能的话,如果它给你正确的结果,我会选择迈克尔的答案。