首页 新闻 搜索 专区 学院

oracle计算同比和环比?

0
[待解决问题]
select 
      t.dt "日期",
      --环比
      (
           ------------分子---------------
         (   t.cnt-
            (select t1.cnt
            from t1
            where to_char(t1.dt,'yyyy-mm-dd') = to_char(add_months(trunc(t.dt),-1),'yyyy-mm-dd') --上月数据
            )
         ) / 
         ------------分母---------------
         (select t1.cnt
            from t t1
            where to_char(t1.dt,'yyyy-mm-dd') = to_char(add_months(trunc(t.dt),-1),'yyyy-mm-dd')
          )
      )*100 || '%' as "环比增长率"
from
       t t
where to_char(t.dt,'yyyy-mm-dd')='2012-02-01'

表:create table(dt date,cnt number);

 

除了上面这个方法,再想不到其他的了。但是上面的代码太过复杂,谁有没有简单些的方法?

atyang的主页 atyang | 菜鸟二级 | 园豆:202
提问于:2014-01-03 09:22
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册