表YWLOG
          ID      ACCNO         OPTYPE
  1   1111 4
  2   1111 10
  3   1111 11
  4   2222 4
  5   2222 10
  6   3333 4
  7   3333 10 查询:在ACCNO相同里面查询OPTYPE=10并且ID在同一个ACCNO里面是最大的ACCNO
 
    比如上面这个表
                     我希望查出来的结果是 accno=2222和accno=3333

解决方案 »

  1.   

    select * from YWLOG a
    where optype=10 and not exists(select 1 from YWLOG 
      where id>a.id and accno=a.accno)
      

  2.   

    select a.* from YWLOG join (select accno,max(id) from YWLOG a where optype=10 group by accno) b on a.accno=b.accno and a.id=b.id where a.optype=10
      

  3.   

    select a.* from YWLOG join (select accno,max(id) id from YWLOG a where optype=10 group by accno) b on a.accno=b.accno and a.id=b.id where a.optype=10