Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103069039
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Sybase

2008-04-22 12:38:06

来源:赛迪网    作者:Tobias

很多人都知道,Sybase IQ是高性能的数据仓库引擎,在SQL编程方面,它也引入了许多新的特性,分析型函数就是其中之一。常用的分析型函数如下:Grouping( ), Variance( ),StdDev( ), Rank( ), Dense_Rank( ),Percentile_Disc( ), Percentile_Count( ), Ntile( )等。

在实际的工作和学习中,使用以上的分析型函数,可以为用户的前端编程或者后台SQL编程带来极大的方便。

以上函数的简单示例如下:

select top 10 taxpayercode ,sum(mny_seze) as mny_seze_sukm, sum(mny_srze) as mny_srze_sum, DENSE_RANK() over( order by mny_srze_sum desc) as rank_all

from tqa_f_nsrqusb where id_mth=200702

group by taxpayercode

order by rank_all

select taxpayercode ,sum(mny_seze) as mny_seze_sukm,sum(mny_srze) as mny_srze_sum

from tqa_f_nsrqusb where id_mth=200702

group by taxpayercode order by mny_srze_sum desc

select top 10 taxpayercode ,sum(seze) as seze , NTILE(2) over ( order by seze desc) as ntile

from whtaxpayertaxbook where yr_sb=2005 and mth_sb=1

group by taxpayercode

order by seze

select top 10 taxpayercode, sum(seze) as seze, percent_rank() over (order by seze desc) as per_rank

from whtaxpayertaxbook where yr_sb=2005 and mth_sb=1

group by taxpayercode

order by seze

select top 10 taxpayercode, sum(seze) as seze, rank() over (order by seze desc) as per_rank

from whtaxpayertaxbook where yr_sb=2005 and mth_sb=1

group by taxpayercode

order by seze

注:在Oracle数据库9i以上的版本中也有类似的分析型函数,实现的功能也与此示例相似。

阅读(779) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~