分析函数用法及窗口子句 range/rows差别
1 WITH t AS 2 (SELECT (CASE 3 WHEN LEVEL IN (1,2) THEN 4 1 5 WHEN LEVEL IN (4,5) THEN 6 6 7 ELSE 8 LEVEL 9 END) ID 10 FROM dual 11 CONNECT BY LEVEL < 10) 12 SELECT id,13 SUM(ID) over(ORDER BY ID) default_sum,14 SUM(ID) over(ORDER BY ID RANGE BETWEEN unbounded preceding AND CURRENT ROW) range_unbound_sum,15 SUM(ID) over(ORDER BY ID ROWS BETWEEN unbounded preceding AND CURRENT ROW) rows_unbound_sum,16 SUM(ID) over(ORDER BY ID RANGE BETWEEN 1 preceding AND 2 following) range_sum,17 SUM(ID) over(ORDER BY ID ROWS BETWEEN 1 preceding AND 2 following) rows_sum 18* FROM t ID DEFAULT_SUM RANGE_UNBOUND_SUM ROWS_UNBOUND_SUM RANGE_SUM ROWS_SUM 1 2 2 1 5 5
1 2 2 2 5 11
3 5 5 5 3 16
6 23 23 11 33 21
6 23 23 17 33 25
6 23 23 23 33 27
7 30 30 30 42 30
8 38 38 38 24 24
9 47 47 47 17 17
已选择9行。
原文地址:http://blog.itpub.net/21251711/viewspace-1068855/ (编辑:鄂州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
