select 
sum(case when to_char(stime,'yyyymmdd')=max(to_char(stime,'yyyymmdd') then rwjf else 0 end)
from tb
好像to_char(stime,'yyyymmdd')=max(to_char(stime,'yyyymmdd') 有问题
请教各位高手!

解决方案 »

  1.   

    看你的两个列都是DATE吧,直接比较不就可以了么?
      

  2.   


    这当然有问题有max分组统计函数怎么能直接和字段比较了,方法可以做子查询解决比如select 
    sum(rwjf)
    from tb where trunc(stime, 'dd')=select trunc(max(stime),dd) from tb;
      

  3.   


    少个括号和引号select sum(rwjf) from tb where trunc(stime, 'dd')=(select trunc(max(stime),'dd') from tb);
      

  4.   

    补充:如果tb表上字段stime有索引,
    使用
    select sum(rwjf) from tb where stime >= (select trunc(max(stime),'dd') from tb); 
    能用上索引