目前有一张表,表名BM2008,
原表如下
成交日期 证券名称 发生金额
20080326 万 科A -2413.2
20080327 万 科A -2478.56
20080331 万 科A -7755.42
20080331 万 科A -5170.29
设想一、想在原表中增加一行并直接计算出某一列的和,效果如下。
成交日期 证券名称 发生金额
20080326 万 科A -2413.2
20080327 万 科A -2478.56
20080331 万 科A -7755.42
20080331 万 科A -5170.29
合计 -17817.47
设想二、如果上述设想有缺陷,不能实现。想在原表中增加一列,计算前一列的累计数。效果如下。
成交日期 证券名称 发生金额 累计
20080326 万 科A -2413.2 -2413.2
20080327 万 科A -2478.56 -4891.76
20080331 万 科A -7755.42 -12647.18
20080331 万 科A -5170.29 -17817.47
发生金额在可能是正数,也有可能是负数,最大两位小数。
谢谢!求达人给直接可运行的语句。只是提示,因我太菜,不会写语句。
------解决方案--------------------
第二種方法
select *,IDENTITY(int,1,1) as Id into #temp from BM2008
select 成交日期,證券名稱,發生金額,(select SUM(abc.發生金額) from #temp as abc where abc.id<(def.id+1)) as 累計 from #temp as def
------解决方案--------------------
在后面加个
DROP TABLE #TEMP
GO