JUST DO IT ~

我只想当个程序员

oracle sum mul () 函数





select multi_result  -1
from
(
select
 dbms_aw.eval_number(   replace(wmsys.wm_concat(result )over(order by rownum), ',', '*')  )  multi_result
from
(select date_ ,
       value ,
       case
         when rownum1 = icount then
         4* value
         else
          1* value
       end   result
  from (select a.date_ , a.value, a.rownum1, b.icount
          from (select date_, value , rownum rownum1
                  from (select date_, value  from a2 order by date_ )) a, --确保顺序
               (select count(*) icount from a2 order by date_   ) b --确保顺序
        )
)
order by rownum  desc
)
where rownum < 2

 


select    wmsys.wm_concat(a )over(order by rownum) , replace(wmsys.wm_concat(a )over(order by rownum), ',', '*'),
  dbms_aw.eval_number(   replace(wmsys.wm_concat(a )over(order by rownum), ',', '*')  ) serial_multi
from  a2


drop table a2 ;
create table  a2 (
date_  date ,
value    number
)

select * from a2
 for update
 
 
select * from a2
order by   date_

 for update

posted on 2010-10-19 17:39 小高 阅读(427) 评论(0)  编辑  收藏 所属分类: Oracle


只有注册用户登录后才能发表评论。


网站导航:
 

导航

<2010年10月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

统计

常用链接

留言簿(3)

随笔分类(352)

收藏夹(19)

关注的blog

手册

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜