首页 > 解决方案 > Microsoft SSMS 中的运行总计

问题描述

如何在 SSMS 中获得运行总数?

select E.Employee,E.Month,E.Year,E.Salary,
SUM(E.Salary) over (partition by E.Year order by E.Employee) as Cum_Sal
from Employees E
group by E.Employee,E.Month,E.Year,E.Salary
order by E.Year

需要的输出:

在此处输入图像描述

标签: sqlsql-server

解决方案


尝试这个:

select E.Employee
      ,E.Month
      ,E.Year
      ,E.Salary
      ,SUM(E.Salary) OVER 
      (
            partition by E.Year 
            order by CASE E.Month
                          WHEN 'Jan' THEN 1
                          WHEN 'Feb' THEN 2
                          WHEN 'Mar' THEN 3
                          WHEN 'Apr' THEN 4
                          WHEN 'May' THEN 5
                          WHEN 'Jun' THEN 6
                          WHEN 'Jul' THEN 7
                          WHEN 'Aug' THEN 8
                          WHEN 'Sep' THEN 9
                          WHEN 'Oct' THEN 10
                          WHEN 'Nov' THEN 11
                          WHEN 'Dec' THEN 12
                      END
      ) as Cum_Sal
from Employees E
order by E.Year

推荐阅读