ITPUB??ì3
2010数据库技术大会
ITPUB论坛 » Oracle入门与认证 » Oracle 语法之 OVER (PARTITION BY ..)


您有 1 条公共消息
  • 来自: 公共消息 标题: 3-5月ITPUB数据库 ... 内容: ITPUB与3月和5月分别安排了Oracle 11g DBA和Oracle性能优化培训,以及 ...

    标题: Oracle 语法之 OVER (PARTITION BY ..)
    离线 myhuaer
    Oracle Ex



    精华贴数 0
    个人空间 127
    技术积分 1347 (1601)
    社区积分 39 (6756)
    注册日期 2003-1-14
    论坛徽章:4
    授权会员2010新春纪念徽章2009日食纪念2008新春纪念徽章  
          

    发表于 2005-2-22 17:26 
    Oracle 语法之 OVER (PARTITION BY ..)

    select * from test

    数据:
    A   B   C
    1   1   1
    1   2  2
    1   3   3
    2   2  5
    3   4  6


    ---将B栏位值相同的对应的C 栏位值加总
    select a,b,c, SUM(C)  OVER (PARTITION BY B) C_Sum
    from test

    A   B   C   C_SUM  
    1 1 1 1
    1 2 2 7
    2 2 5 7
    1 3 3 3
    3 4 6 6



    ---如果不需要已某个栏位的值分割,那就要用 null

      eg:  就是将C的栏位值summary 放在每行后面

    select a,b,c, SUM(C)  OVER (PARTITION BY null) C_Sum
    from test

    A   B   C   C_SUM  
    1 1 1 17
    1 2 2 17
    1 3 3 17
    2 2 5 17
    3 4 6 17


    __________________
    提供Oracle 培训,RAC/DG 搭建,及Oracle 方面的咨询服务。
    Lis的空间
    MSN : myhuaer@hotmail.com
    只看该作者    顶部
    离线 Andy_GaoWei
    一般会员


    精华贴数 0
    个人空间 0
    技术积分 124 (16501)
    社区积分 0 (223622)
    注册日期 2004-11-21
    论坛徽章:0
          
          

    发表于 2005-3-2 08:43 
    你是意思 我明白,可是什么时候会用到这个呢?


    __________________
    *************************************************Name:Andy.GaoMsn:Andy_GaoWei@hotmail.comTel:13841554918EMail:Andy_GaoWei@163.com*************************************************
    只看该作者    顶部
    离线 dlinger
    凌波微步


    精华贴数 17
    个人空间 0
    技术积分 15494 (88)
    社区积分 3422 (527)
    注册日期 2002-9-24
    论坛徽章:14
    管理团队成员ITPUB元老Heart of PUBITPUB北京九华山庄2008年会纪念徽章参与2007年甲骨文全球大会(中国上海)纪念管理团队2006纪念徽章
    会员2007贡献徽章会员2006贡献徽章祖国60周年纪念徽章2009日食纪念2009新春纪念徽章2008新春纪念徽章

    发表于 2005-3-2 09:35 
    oracle有一类函数,叫做统计函数,
    就是提供来分组查询计算统计使用的。
    pub里讨论这个的帖子不少,有兴趣的可以search一下。


    __________________
    Rain or Shine, I am fine.[url="http://knight_dl.photo.163.com"]我的图片社,每天更新[/url]:cool:
    只看该作者    顶部
    离线 dianchou
    初级会员



    精华贴数 0
    个人空间 0
    技术积分 42 (36952)
    社区积分 0 (455963)
    注册日期 2005-6-3
    论坛徽章:1
    2010新春纪念徽章     
          

    发表于 2005-6-3 09:35 
    Oracle 语法之 OVER (PARTITION BY ..)

    请问 OVER (PARTITION BY ..)在sql server中有没有类似的用法?
    谢谢!


    只看该作者    顶部
    离线 dlinger
    凌波微步


    精华贴数 17
    个人空间 0
    技术积分 15494 (88)
    社区积分 3422 (527)
    注册日期 2002-9-24
    论坛徽章:14
    管理团队成员ITPUB元老Heart of PUBITPUB北京九华山庄2008年会纪念徽章参与2007年甲骨文全球大会(中国上海)纪念管理团队2006纪念徽章
    会员2007贡献徽章会员2006贡献徽章祖国60周年纪念徽章2009日食纪念2009新春纪念徽章2008新春纪念徽章

    发表于 2005-6-4 21:42 
    Re: Oracle 语法之 OVER (PARTITION BY ..)



    QUOTE:
    最初由 dianchou 发布
    请问 OVER (PARTITION BY ..)在sql server中有没有类似的用法?
    谢谢!


    sqlserver中没有。
    我最近正打算把这写统计函数的整理成文档,提交给sql server的designer team作为下个版本的新feature呢,不过不知道team最后的决定。


    __________________
    Rain or Shine, I am fine.[url="http://knight_dl.photo.163.com"]我的图片社,每天更新[/url]:cool:
    只看该作者    顶部
    离线 jackson08
    初级会员



    精华贴数 0
    个人空间 0
    技术积分 2 (226629)
    社区积分 0 (626133)
    注册日期 2005-9-15
    论坛徽章:0
          
          

    发表于 2005-9-15 10:49 
    请问哪里有ORACLE数据比较齐全的资料?知道都请告知,再下十分感谢!!!1


    只看该作者    顶部
    离线 MR.PERFECT
    初级会员



    精华贴数 0
    个人空间 0
    技术积分 26 (53022)
    社区积分 2 (33769)
    注册日期 2005-9-5
    论坛徽章:0
          
          

    发表于 2005-9-15 14:32 
    可以用在求个人工资占部门工资的百分比

    SQL> select * from salary;

    NAME       DEPT   SAL
    ---------- ---- -----
    a          10    2000
    b          10    3000
    c          10    5000
    d          20    4000

    SQL> select name,dept,sal,sal*100/sum(sal) over(partition by dept) percent from salary;

    NAME       DEPT   SAL    PERCENT
    ---------- ---- ----- ----------
    a          10    2000         20
    b          10    3000         30
    c          10    5000         50
    d          20    4000        100


    只看该作者    顶部
    离线 maomaoelaine
    初级会员



    精华贴数 0
    个人空间 0
    技术积分 10 (104046)
    社区积分 2 (32836)
    注册日期 2005-4-20
    论坛徽章:0
          
          

    发表于 2006-4-28 15:10 
    好贴,做report时用上了


    只看该作者    顶部
    离线 imissher
    版主


    精华贴数 7
    个人空间 0
    技术积分 9623 (172)
    社区积分 2695 (629)
    注册日期 2003-6-12
    论坛徽章:80
    现任管理团队成员ITPUB元老授权会员2010新春纪念徽章祖国60周年纪念徽章生肖徽章2007版:鼠
    生肖徽章2007版:兔生肖徽章2007版:兔行业板块每日发贴之星ITPUB新首页上线纪念徽章  

    发表于 2006-5-16 12:09 
    Faint!
    看了半天才知道栏位是列,怎么用这种叫法啊
    改成列行不行啊


    __________________
    欢迎光临我的淘宝店艾伦岛
    只看该作者    顶部
    离线 beijing3721


    精华贴数 0
    个人空间 0
    技术积分 1527 (1379)
    社区积分 7 (16013)
    注册日期 2005-2-18
    论坛徽章:5
    生肖徽章2007版:牛生肖徽章2007版:鼠生肖徽章2007版:鸡生肖徽章2007版:猴ITPUB新首页上线纪念徽章 
          

    发表于 2006-6-1 17:57 
    HAO REN A,HAO TIE A


    __________________
    oracle在线文档:http://tahiti.oracle.com
    只看该作者    顶部
    相关内容


    CopyRight 1999-2006 itpub.net All Right Reserved.
    北京皓辰网域网络信息技术有限公司. 版权所有
    E-mail:Webmaster@itpub.net
    网站律师 隐私政策 知识产权声明
    京ICP证:060528号 联系我们