谢谢各位启发,
写出来了。
select ta.a, ta.b, tb.c, tb.d from (select a, max(b) b from t1 group by a) ta,
(select a,c,d from t1 where c in (select min(c) from t1 group by a) ) tb where ta.a = tb.a;
挂月:有个小错误,应该是这样:
select ta.a,ta.b,tb.d from t1 ta join t1 tb on ta.a = tb.b
where ta.b = (select max(tc.b) from t1 tc where tc.a = ta.a group by tc.a)
and tb.c = (select min(td.c) from t1 td where td.a = tb.a group by td.a)
楼主试试这个:
select TA.a,TA.b,TB.d from t1 TA join t1 TB on TA.a=TB.a
where
TA.b=(SELECT MAX(TC.b) FROM t1 TC WHERE TC.a=TA.a group by TC.a )
and
TB.c=(SELECT Min(TD.c) FROM t1 TD WHERE TC.a=TB.a group by TC.a )