分析函数窗口子句 RANGE/ROWS 差别

分析函数的语法结构一般是:分析函数名() OVER (PARTITION BY子句 ORDER BY子句 ROWS/RANGE子句)

即由以下三部分组成:

分析函数名  如SUM()、MAX()、MIN()、COUNT()、AVG()等聚集函数以及LEAD()、LAG()行比较函数等

OVER  关键字,表示前面的函数是分析函数,不是普通的集合函数

分析子句  OVER关键字后面括号内的内容

分析子句又由下面三部分组成:

PARTITION BY  分组子句,表示分析函数的计算范围,不同的组互不相干

ORDER BY  排序子句,表示分组后,组内的排序方式

ROWS/RANGE  窗口子句,是在分组(PARTITION BY)后,组内的子分组(也称窗口),

是分析函数的计算范围窗口,而不是PARTITION;

窗口有两种,ROWS 和 RANGE

下面分析 ROWS 与 RANGE 窗口子句的用法,先看下面例子:

  1. SQL> edit
  2. 已写入 file afiedt.buf

  3. WITH t AS
  4. (
  5. SELECT (CASE
  6. WHEN LEVEL IN (1, 2) THEN
  7. 1
  8. WHEN LEVEL IN (4, 5) THEN
  9. 6
  10. ELSE
  11. LEVEL
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值