oracle如何表示同比的简单介绍

用PLSQL查询Oracle数据库某字段的本年数,上年同期数,同比,怎么写啊???

很简单的,记得给分啊,不给分以后就不给你解答了,你到网上查询一下oracle有个叫lag的内置函数,把结果集排序以后通过lag函数取得相应的位移就知道你的同比和环比的结果了,我看你的结果集中是每月一条记录,则同比是位移12,环比是位移1。

成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站制作、成都网站建设、石阡网络推广、小程序开发、石阡网络营销、石阡企业策划、石阡品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供石阡建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

生手求教oracle同比和环比sql语句

substr(t.salarymonth, -2)) "同比",

sum(t.salary) /

(select sum(t1.salary)

from D_MONTH_SALARY t1

where t1.salarymonth =

to_char(to_date(t.salarymonth, 'yyyymm') - 1, 'yyyymm')) "环比"

from D_MONTH_SALARY t

group by t.salarymonth;

请教Oracle计算同比和环比sql语句

首先明确概念:

环比增长率=(本期数-上期数)/上期数*100% 反映本期比上期增长了多少。

同比增长率=(本期数-同期数)/同期数*100% 指和去年同期相比较的增长率。

数据表名:d_temp_data 

查询数据如下:

查询的sql语句如下:

select a.*,

nvl(round(money/lag(money) over(order by id)*100,2),'0')||'%' "同比",

nvl(round(money/lag(money) over(partition by mon order by id)*100,2),'0')||'%' "环比"

from d_temp_data a

id    iname   year   mon   money   同比   环比

----------------------------------------------------------------------

1 1 飞马股 2013 01 300 0% 0%

2 2 飞马股 2013 02 270 90% 0%

3 3 飞马股 2013 03 350 129.63% 0%

4 4 飞马股 2013 04 180 51.43% 0%

5 5 飞马股 2013 05 500 277.78% 0%

6 6 飞马股 2013 06 400 80% 0%

7 7 飞马股 2014 01 210 52.5% 70%

8 8 飞马股 2014 02 240 114.29% 88.89%

9 9 飞马股 2014 03 320 133.33% 91.43%

10 10 飞马股 2014 04 480 150% 266.67%

11 11 飞马股 2014 05 400 83.33% 80%


分享标题:oracle如何表示同比的简单介绍
文章来源:http://hbruida.cn/article/hhjgds.html