每3行的累计总数

时间:2017-12-05 14:57:59

标签: sql sql-server

我有一个员工表,其中包含以下列和示例数据:

emp_id|name|salary|cumulative_sal
100     abc  1000   1000
101    gfh   2000   3000
102    jkl   3000   6000
103    ghi   5000   11000
104    tuv   7000   18000
105    mno   2000   20000

现在,我想以这样的方式更新我的累积工资,即分别计算每3行。 样品

emp_id|name|salary|cumulative_sal
100     abc  1000   1000
101    gfh   2000   3000
102    jkl   3000   6000
103    ghi   5000   5000
104    tuv   7000   12000
105    mno   2000   14000

提前举手

1 个答案:

答案 0 :(得分:4)

将3行分类到具有DELETE FROM wp_posts WHERE ID not in (select post_id as p from wp_postmeta where meta_key like "_wp_attached_file") 的组中,然后根据分类的组使用累计总和。查看内部查询的结果,了解如何生成组。

row_number

编辑:根据OP对select emp_id,name,salary,sum(salary) over(partition by grp order by emp_id) as cumsum_sal from (select emp_id,name,salary,(row_number() over(order by emp_id)-1)/3 as grp from tbl ) t 表的评论。这可以通过cte。

完成
update