max(x)over(partition by ... order by ...)
(2014-12-15 09:09:04)
标签:
max()over()max(x)over(partition |
分类: Oracle |
8.max(x)over(partition by ... order by ...)
SELECT G.*, max(工资) OVER(partition by 部门) 部门最高工资
结果:
王五 人事 4000 4000
赵六 研发 7000 7000
刘二 研发 6500 7000
陈一 研发 6500 7000
张三 财务 5000 5200
李四 财务 5200 5200
当第一位是4000,而第二位大于4000时,第二位显示数据不会被4000替代
当第三位小于第二位时,第三位显示数据为第二位的数据
当第四位小于第二位时,第四位显示数据也为第二位的数据 剩下依次
SELECT G.*, max(工资) OVER(order by 部门) 计算后工资
结果:
王五 人事 4000 4000
赵六 研发 7000 7000
刘二 研发 6500 7000
陈一 研发 6500 7000
张三 财务 5000 7000
李四 财务 5200 7000
SELECT G.*, max(工资) OVER(partition by 部门 order by 工资)
计算后工资
结果:
王五 人事 4000 4000
刘二 研发 6500 6500
陈一 研发 6500 6500
赵六 研发 7000 7000
张三 财务 5000 5000
李四 财务 5200 5200
注:在以上窗口函数中,partition by、order by 后可以填写 null。

加载中…