我为每个父母有一组孩子,每个孩子都有一个日期,都在一张桌子上。我想:对于每个父母,找到最大日期的孩子。我写了一个声明就是这样做的:
create table t(
parent string,
child string,
date date,
);
主键:(父,子)
select a.*
from
(select parent, child, date from t) a
join
(select parent, max(date) as lastdate from t group by parent) b
on
a.parent = b.parent
and a.date = b.lastdate
现在的问题是,我在表 t 上做了 2 次单独的选择。假设表 t很大,我想只在表 t 上进行一次选择。那可能吗?
我在 Oracle 10g EE 上使用 Oracle SQl Developer。