Teradata的OLAP函数使用(2),
3,累计函数
SELECT
storeid
,prodid
,sales
,SUM(sales) OVER (ORDER BY sales DESC ROWS UNBOUNDED PRECEDING)
FROM salestbl ;
结果如下:
storeid prodid sales Cumulative Sum(sales) ------- ------- ------- ---------------------- 1001 F 150000.00 150000.00 1001 A 100000.00 250000.00 1003 B 65000.00 315000.00 1001 C 60000.00 375000.00 1003 D 50000.00 425000.00 1002 A 40000.00 465000.00 1001 D 35000.00 500000.00 1002 C 35000.00 535000.00 1003 A 30000.00 565000.00 1002 D 25000.00 590000.00 1003 C 20000.00 610000.00
ORDER BY :排序
ROWS :记录数(这里大都使用between and)
UNBOUNDED PRECEDING :当前记录前不限制,表示需要取上这些记录。
4,位移聚合(不一定翻译的对)
SELECT
storeid
,prodid
,sales
,SUM(sales) OVER (ORDER BY sales DESC ROWS 2 PRECEDING)
FROM salestbl;
结果如下:
storeid prodid sales Moving Sum(sales)
----------- ---------- -------------- ---------------------------
1001 F 150000.00 150000.00
1001 A 100000.00 250000.00
1003 B 65000.00 315000.00
1001 C 60000.00 225000.00
1003 D 50000.00 175000.00
1002 A 40000.00 150000.00
1001 D 35000.00 125000.00
1002 C 35000.00 110000.00
1003 A 30000.00 100000.00
1002 D 25000.00 90000.00
1003 C 20000.00 75000.00
2 PRECEDING:表示要计算在该记录前的两条记录。实现了一种移动聚合的感觉
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。