sql - 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
需要的输出:
解决方案
尝试这个:
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
推荐阅读
- mongodb - MongoDB 基于参考 id 加入用户和点赞集合
- flutter - 更新后缺少 Android Studio 图像资产编辑器
- digital-signature - Signtool.exe /dg /ds /di 选项和时间戳
- algorithm - 如何将json数据转换为html嵌套列表
- python - 使用 OpenCV Python 以与参考图像相同的方向和尺寸转换和显示裁剪图像
- python-3.x - 为什么 int("0xff",16) 计算但 int("hello", 16) 不计算?
- sql - 在 MS Access with VBA 中使用查询转置表
- javascript - 部署到 Heroku 时如何忽略 GitHub 存储库中的文件?
- c# - Azure Functions V2 的单元测试 MessageSender
- typescript - 在 TypeScript 中推断接口属性类型