Oracle数据库 用Sql 如何计算年增长率

richard7221 2016-07-27 03:54:25



数据库如上图所示:
问题是:查看视图 sales_view,用Sql计算出产品 Y Box、Bounce 和 Mouse Pad 在意大利的销售年增长率

PS:其中Y Box、Bounce 和 Mouse Pad属于PROD列,数据库很大,有98.99,00,01.....年的

谢谢!
...全文
463 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2016-07-27
  • 打赏
  • 举报
回复
引用 7 楼 richard7221 的回复:
谢谢 @wmxcn2000 解决啦!!!!
richard7221 2016-07-27
  • 打赏
  • 举报
回复
谢谢 @wmxcn2000 解决啦!!!!
richard7221 2016-07-27
  • 打赏
  • 举报
回复
问题是:我数据库里已经有98-01年的数据了,不需要在插入数据,而且需要3种商品分别的增长率。。 谢谢
卖水果的net 2016-07-27
  • 打赏
  • 举报
回复
那个 2 ,是因为我把一条语句写成了 2 行 ; 如果写成了 3 行,下面还有 3 ;
richard7221 2016-07-27
  • 打赏
  • 举报
回复
引用 2 楼 wmxcn2000 的回复:

-- lag 函数

SQL> create table test(y int , sale int) ;
Table created
SQL> insert into test
  2  select 2010 + rownum,rownum * 100 from dual connect by rownum <= 5;
5 rows inserted
SQL> select y, sale, sale / lag(sale,1) over(order by y) - 1
  2  from test ;
         Y       SALE SALE/LAG(SALE,1)OVER(ORDERBYY)
---------- ---------- ------------------------------
      2011        100 
      2012        200                              1
      2013        300                            0.5
      2014        400              0.333333333333333
      2015        500                           0.25
SQL> drop table test purge ;
Table dropped

SQL> 

第6,9行第一个’2‘是什么意思呢
ghx287524027 2016-07-27
  • 打赏
  • 举报
回复
研究一下 lag() over() 这个函数
卖水果的net 2016-07-27
  • 打赏
  • 举报
回复

-- lag 函数

SQL> create table test(y int , sale int) ;
Table created
SQL> insert into test
  2  select 2010 + rownum,rownum * 100 from dual connect by rownum <= 5;
5 rows inserted
SQL> select y, sale, sale / lag(sale,1) over(order by y) - 1
  2  from test ;
         Y       SALE SALE/LAG(SALE,1)OVER(ORDERBYY)
---------- ---------- ------------------------------
      2011        100 
      2012        200                              1
      2013        300                            0.5
      2014        400              0.333333333333333
      2015        500                           0.25
SQL> drop table test purge ;
Table dropped

SQL> 

richard7221 2016-07-27
  • 打赏
  • 举报
回复
列名有:country, prod,year, sale(销售额)

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧