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

你可能感兴趣的:(C++,c,C#,F#)