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:表示要计算在该记录前的两条记录。实现了一种移动聚合的感觉