select * from table where ... and rq=(select max(..) max_date from table where rq between to_date(..) and to_date())

解决方案 »

  1.   

    select * from table where ROWID=(SELECT MAX(ROWID) FROM TABLE WHERE
    .... and rq between to_date(..) and to_date(..)) AND RQ=(SELECT MAX(RQ) FROM TABLE WHERE rq between to_date(..) and to_date(..));
     
      

  2.   

    Leehunter(理性猎人)的办法可行或者如果是前端用语言开发可以用order by DESC
    这样第一条记录应是所需
      

  3.   

    select * from table where .... and rq between to_date(..) and to_date(..) and rownum = max(rownum);
      

  4.   

    即使是需要的记录最后select出来了
    也不只有一条记录假设id=1,那么他的valume=opt操作可能在某一个时间段内有很多
    那么id=2,他的OPT操作也是很多
    我只要每个ID最后的那个操作
    where后的那个.... 实在是太多了,不方便写出来
    而且在select里还要把日期挑选出来请各位继续指教,谢谢了
      

  5.   

    你的意思好像是要加GROUP by可以达到
      

  6.   

    SELECT * FROM T_TABLENAME WHERE TO_DATE(DATE) IN (SELECT MAX(DATE) FROM T_TABLENAME GROUP BY id )试试吧