oracle—行转列.docVIP

  • 4
  • 0
  • 约5.11千字
  • 约 5页
  • 2017-08-16 发布于浙江
  • 举报
用ORACLE分析函数实现行列转换 黄莉? 玉素甫·艾白都拉 (新疆师范大学 数理信息学院,新疆 830054) ? ??? 摘 ?要 对数据库中的数据用SQL实现行列转换,不但需要编写复杂的程序代码,还需要编写存储过程。若引入ORACLE中的分析函数则会使该过程简便很多。首先找出表中所有关键字的属性个数的最大值,设为n,其次为每个关键字新添加n列,并用分析函数查询关键字的属性所处列的位置,然后将每个关键字的多行属性转换成多列属性,最后把生成的多个新列拼成一个串形成一列,从而实现行列转换。 ??? 关键字 Oracle数据库;分析函数;行列转换 ? 1 引言 ??? 分析函数的设计目的是为了解决诸如“累计计算”等问题。虽然大部分的问题都可以用PL/SQL解决,但是性能并不理想,首先查询本身并不容易编写,其次有些很难在SQL中直接做的查询但实际上是很普通的操作,比如实现数据表中行列传换。这样的问题在SQL中做查询就很困难。在分析函数出现以前,我们必须使用自联查询或者子查询甚至复杂的存储过程实现的语句,现在只要一条简单的SQL语句就可以实现了,而且在执行效率方面也有相当大的提高。本文将以一个实例来描述如何采用分析函数实现数据中的行列互换。 2 原理 2.1 分析函数的格式及语法 ??? 分析函数是在一个记录行分组的基础上计算它们的总值。行的分组被称窗口,并通过分析语句定义。对于每记

文档评论(0)

1亿VIP精品文档

相关文档