Oracle——环比增长率

 

  首先,了解什么是:环比增长率?

  环比增长率=(本期数-上期数)÷上期数×100%

  如:2014年2月的工资为:5000,2014年1月的工资为4000,则2月份的环比增长率为:

        (5000-4000) ÷ 4000 × 100% =25%

 

  那么,oracle中的sql语句怎么写呢?

  举个例子

  1.建表

create table
    t
    (
        dt date,
        cnt number
    )

 

 

  2.插入数据

  DT        CNT

2012/1/1 10
2012/1/2 30

  3.查询环比

 

 

select 
      t.dt "日期",
      --环比
      (
           ------------分子---------------
         (   t.cnt-
            (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') --上月数据
            )
         ) / 
         ------------分母---------------
         (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'

 

结果:

日期    环比增长率

2012/1/2 200%

posted @ 2014-01-02 10:51  艺言弈行  阅读(1282)  评论(0编辑  收藏  举报