我知道标题听起来不太具有描述性,但这是我能想到的最好的:
我有这张桌子
ID BDATE 值 28911 2009 年 14 月 4 日 44820 28911 2009 年 4 月 17 日 32240 28911 2009 年 4 月 20 日 30550 28911 22/4/2009 4422587,5 28911 2009 年 4 月 23 日 4441659 28911 24/4/2009 7749594,67 38537 2009 年 4 月 17 日 58280 38537 2009 年 4 月 20 日 137240 38537 22/4/2009 81098692 38605 2009 年 14 月 4 日 2722368 38605 20/4/2009 5600 38605 22/4/2009 1625400 38605 2009 年 4 月 23 日 6936575
这实际上是一个非常复杂的查询,封装在一个视图中,但现在不重要了。
我想为每个 ID,包含最高 BDate 的行。在此示例中,这将是结果。
ID BDATE 值 28911 24/4/2009 7749594,67 38537 22/4/2009 81098692 38605 2009 年 4 月 23 日 6936575
我已经试过了
select id, max(bdate), value from myview group by id, value
但随后它返回所有行,因为每个值列都不同。此查询是在 Oracle v10 中设计的,我只能使用选择查询而不是创建过程。