sql – 累积前一行的当前行和的值
发布时间:2020-12-12 16:47:13 所属栏目:MsSql教程 来源:网络整理
导读:您将如何从表中变换列: ColumnA ColumnB2 a3 b4 c5 d1 a 到这个: ColumnA ColumnB3 a6(=3+3) b 10(=4+3+3) c 15(=5+4+3+3) d 我有兴趣看到esp.你会选择什么方法 解决方法 喜欢这个: ;WITH cteAS( SELECT ColumnB,SUM(ColumnA) asum FROM @t gROUP BY Colum
您将如何从表中变换列:
ColumnA ColumnB 2 a 3 b 4 c 5 d 1 a 到这个: ColumnA ColumnB 3 a 6(=3+3) b 10(=4+3+3) c 15(=5+4+3+3) d 我有兴趣看到esp.你会选择什么方法 解决方法喜欢这个:;WITH cte AS ( SELECT ColumnB,SUM(ColumnA) asum FROM @t gROUP BY ColumnB ),cteRanked AS ( SELECT asum,ColumnB,ROW_NUMBER() OVER(ORDER BY ColumnB) rownum FROM cte ) SELECT (SELECT SUM(asum) FROM cteRanked c2 WHERE c2.rownum <= c1.rownum),ColumnB FROM cteRanked c1; 这应该给你: ColumnA ColumnB 3 a 6 b 10 c 15 d 这是a live demo (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |