oracle数据库的model,Oracle 11g学习笔记–model子句

Oracle 11g学习笔记–model子句

oracle 10g中新增的model子句可以用来进行行间计算。model子句允许像访问数组中元素那样访问记录中的某个列,这就提供了诸如电子表格计算之类的计算能力;

先来看一个简单的例子:

select

prd_type_id, year, month, sales_amount

from all_sales

where prd_type_id between 1 and 2 and emp_id = 21

model

partition by (prd_type_id)

dimension by (month, year)

measures (amount sales_amount) (

sales_amount[1, 2004] = sales_amount[1, 2003],

sales_amount[2, 2004] = sales_amount[2, 2003] + sales_amount[3, 2003],

sales_amount[3, 2004] = round(sales_amount[3, 2003] * 1.25, 2)

)

order by prd_type_id, year, month;

partition by(prd_type_id)指定结果是根据prd_type_id分区的,所谓的分区就是在prd_type_id不等的情况下,一下的定义数组是互相不能访问的;

dimension by(month, year) 定义数组的维数是month, year,这就意味着必须提供月份和年份才能访问数组中的单元;

measures(amount sales_amount)表明数

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值