作为一个数据库管理员可以不知道分析函数,但是开发dba还是需要了解的。有时候即使经常写sql的也很少用到的分析函数。
在优化sql 的过程中,经常遇到一些通过编写复杂的sql 来实现分析函数功能的sql。
正如作者说的,可以通过自联查询、子查询或者内联视图,更有甚者通过存储过程实现。
其实主要是理解什么是分析函数,主要能实现什么功能,这样在编写sql时有据可依;至于具体的语法,或者函数名可以再进行查询。
个人认为,分析函数,顾名思义,通常在进行数据整理,对比时经常用到的。这里需要区分几个概念,分析函数,开窗函数,和聚合函数。
分析函数与聚合函数的区别是在对分组的结果有多个或者一个返回值的区别。
分析函数和开窗函数的区别,开窗函数指定了分析函数工作的数据窗口大小。典型的例子就是over()是开窗函数。
从分析函数的语法也可以看到:
Analytic_function() OVER(analytic_clause) ;说明,over是用来标识函数是一个分析函数,over是关键字,必须的,是分析函数就必须使用。
常用的分析函数: 统计函数+over()、排序函数+over()、数据分布函数+over()、统计分析函数+over()。
整体来说,分析函数在BI上用的比较多,常用于各种数据分析。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24349972/viewspace-762112/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24349972/viewspace-762112/