sql中不同列中每行的数据总和

时间:2018-04-11 03:54:43

标签: sql sas proc-sql

我需要创建一个不同的总销售额列,即该行之前的销售单位总数。随着我们的销售单位将增加,总销售额将逐一增加。我已附上图片以获得清晰的想法。

截图

2 个答案:

答案 0 :(得分:0)

您可以使用以下查询,该查询会累计rowId以及特定产品的所有销售额。

select (select sum(ids)
         from TBL_NAME T1 
         where T1.rowid <= TBL_NAME.rowid  and PRODUCT=TBL_NAME.PRODUCT
       ) as TotalSales     
 from TBL_NAME;

以下答案适用于Oracle DB,您可以理解该查询并轻松将其转换为您想要的产品。

答案 1 :(得分:0)

一种方法是使用带有correlation方法的子查询

select *,  
         (select sum(sales) from table where product = t.product and ? <= t.?) TotalSales
from table t

但是,您需要?(即rowidid)列来指定您的列排序。