本帖最后由 SSS520 于 2013-06-19 10:32:09 编辑

解决方案 »

  1.   

    select t.* from T a where t.szdm='01' 
    and sj=(select max(sj) from T where nsrsbh=a.nsrsbh)
      

  2.   

    呵呵,谢谢楼上的,我找出问题所在了,原来是在not exists里面写漏了一个条件j.szdm='01',改为如下就可以正确得出结果:
    select t.* from T where t.szdm='01' and not exists(select 1 from t j where t.nsrsbh=j.nsrsbh and j.szdm='01' and t.sj<j.sj)非常感谢大哥!
    楼上的大哥的写法也是在括号里面漏写了szdm='01',加上这个条件就可以得出正确结果。
    以上全部在ORACLE通过验证!