denver 发表于 2012-5-10 00:48 
如果没有理解错的话,n1-n3是你想要的结果。
钱就算了,我也是学习累了休息一下的,还可以顺便做个小练习, ...
谢谢您的解答!论坛币我已经支付出去了,如果您的答案合适,我会设置为最佳答案的(我大致看了下好像符合我的要求

)。
可以帮我解释下下面几句程序的意思吗?
proc sort data=aaa; by h1 r2 r4_1;run;
proc sql;
create table merge as
select a.*, b.*,min(b.r4_1-a.r4_1) as age1, max(b.r4_1-a.r4_1) as age2, max(b.r4_1) as age3
from parent as a left join children as b
on a.h1=b.h1
group by a.h1
order by a.h1;
quit;
data merge1;
set merge;
by h1;
if first.h1;
run;
proc sql;
create table final as
select a.*, count(a.age1) as n1
from merge1 as a
group by age1;