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,这就意味着必须

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值