Oracle SQL模型条款

  

  参考官方文档,学习了一下Oracle SQL模型语法。   
  摘自支持Oracle SQL:   
  与模型条款,您可以构建矩阵(或模型)的数据数量可变的维度。该模型   
  使用可用的一个子集from子句中的表和列必须包含至少alt=癘racle SQL模型条款”>   
  ,这个SQL创建了几个新行,比如销售[& # 39;Y,框# 39;,2002]使用的是                  2002年是另外两个产品的销售金额之和   
  
  例2:,   
  选择SUBSTR(国家,1,20)的国家,,   
  ,,,,SUBSTR (prod 1 15)刺激,年销售   
  从sales_view   
  国家(& # 39;意大利# 39;& # 39;日本# 39;)   
  ,模型返回更新的行   
  ,,(国家)分区的大敌;   
  ,,,尺寸由(prod,年)   
  ,,出售,措施(销售)   
  ,,,规则(   
  ,,,,销售[& # 39;反弹# 39;,2002]=销售[& # 39;反弹# 39;,2001]+销售[& # 39;反弹# 39;,2000),   
  ,,,,销售[& # 39;Y框# 39;2002]=销售[& # 39;Y框# 39;,2001),   
  ,,,,销售[& # 39;反弹# 39;,2003]=(销售)和[& # 39;反弹# 39;,年<=2002),   
  ,,,,销售[& # 39;Y框# 39;2003]=(销售)和[& # 39;Y框# 39;年<=2002),   
  ,,,,销售(商品# 39;& # 39;2,2002]=销售[& # 39;反弹# 39;,2002]+销售[& # 39;Y框# 39;2002])   
  订单按国家、刺激;   
  
  ,    Oracle SQL模型条款”>
  <br/>
  这个例子中,引入了新的规则,,
  
  产品在2003年反弹的收入金额是2002年以及2002年前的销售金额之和
  <br/>
  <br/>
  实例3:算累加
  <br/>
  与t (
  <br/>
  ,从双重选择rownum rn connect by rownum <=100,
  <br/>
  )
  <br/>
  从t 选择rn,总;
  <br/>
  模型返回更新的行
  <br/>
  维度(rn)
  <br/>
  措施(0)
  <br/>
  规则(
  <br/>
  ,总(rn)=简历(rn) + nvl(总简历(rn) - 1, 0)
  <br/>
  )
  <br/>
  求出1到100的和,这里用了函数的简历(当前值)去引用其他单元格数据
  <br/>
  <br/>
  另一个求累加的:
  <br/>
  与t (
  <br/>
  从双重选择1 rn
  <br/>
  ),
  <br/>
  从t 选择rn,总;
  <br/>
  模型返回rows 更新;
  <br/>
  维度(rn)
  <br/>
  措施(0)
  <br/>
  规则迭代(100)(
  <br/>
  ,总[1]=nvl(总[1],0)+ (ITERATION_NUMBER + 1)
  <br/>
  )
  <br/>
  <br/>
  
  
  <br/>
  
  </p><h2 class=Oracle SQL模型条款