您将如何从表中变换列:
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
解决方法
喜欢这个:
;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
原文地址:https://www.jb51.cc/mssql/81381.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。