加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

count(x)over(partition by ... order by ...)

(2014-12-15 09:19:45)
标签:

count()over()

count(x)over(partiti

分类: Oracle
12.count(x)over(partition by ... order by ...)
  12.1.count(x)over(partition by ...)
  示例:部门分组,得到每个部门出现的次数
SELECT G.*, count(工资) OVER(partition by 部门) 出现次数
    from ( select '张三' 人员,'财务' 部门, '5000' 工资  from dual
          union 
          select '李四','财务', '5200'  from dual
          union 
          select '王五','人事', '4000' from dual
          union 
          select '刘二','研发', '6500' from dual
          union 
          select '陈一','研发', '6500' from dual
          union 
          select '赵六','研发', '7000' from dual) G 
结果:
王五 人事 4000 1
赵六 研发 7000 3
刘二 研发 6500 3
陈一 研发 6500 3
张三 财务 5000 2
李四 财务 5200 2
  12.2.count(x)over(order by ...)
  示例:部门排序,得到各部门与其它部门当前的累计次数
SELECT G.*, count(部门) OVER(order by 部门) 累计次数 
    from ( select '张三' 人员,'财务' 部门, '5000' 工资  from dual
          union 
          select '李四','财务', '2200'  from dual
          union 
          select '王五','人事', '4000' from dual
          union 
          select '刘二','研发', '3200' from dual
          union 
          select '陈一','研发', '6500' from dual
          union 
          select '赵六','研发', '7000' from dual) G

结果:
王五 人事 4000 1
赵六 研发 7000 4
刘二 研发 3200 4
陈一 研发 6500 4
张三 财务 5000 6
李四 财务 2200 6
  12.3.count(x)over(partition by ... order by ...)
  示例:部门分组,部门排序,拿到各部门累计次数
SELECT G.*, count(工资) OVER(partition by 部门 order by 人员) 累计次数 
    from ( select '张三' 人员,'财务' 部门, '5000' 工资  from dual
          union 
          select '李四','财务', '5200'  from dual
          union 
          select '王五','人事', '4000' from dual
          union 
          select '刘二','研发', '6500' from dual
          union 
          select '陈一','研发', '6500' from dual
          union 
          select '赵六','研发', '7000' from dual) G 
结果:
王五 人事 4000 1
刘二 研发 6500 1
赵六 研发 7000 2
陈一 研发 6500 3
张三 财务 5000 1
李四 财务 5200 2

注:在以上窗口函数中,partition by、order by 后可以填写 null。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有