sql - 如何在 sql 中查询 Sum 值 + 最新记录日期
问题描述
我有学生表,我需要通过计算公式来收集值。
Date,Person name,status,value,mark1,mark2
01/08/2020,Andrew,New,10,32,45
07/08/2020,Andrew,New,10,44,44
22/08/2020,Andrew,New,10,55,34
15/09/2020,Mirandz,New,11,44,44
22/09/2020,Mirandz,New,11,77,55
07/09/2020,Lucaz,New,54,66,55
30/09/2020,Lucaz,New,54,23,55
在这里我想做sum(mark1)+sum(mark2)+value(where date is maximum) based on Person name
需要帮助编写 SQL 查询以获取最新值与现有列值相加的汇总值。
32+44+55+45+44+34+10
我尝试了以下查询
Select SUM(mark1)+SUM(Mark2)+Value from table where MAX(date)
我对 sql server 完全陌生!任何帮助将不胜感激。
解决方案
每个名称的示例数据中的值是恒定的,因此您可以使用:
select name, sum(mark1) + sum(mark2) + value
from students
group by name, value;
如果值不是常数,您可以通过多种方式实现逻辑。一种用途first_value()
:
select name, sum(mark1) + sum(mark2) + most_recent_value
from (select s.*,
first_value(value) over (partition by name order by date desc) as most_recent_value
from students s
) s
group by name, most_recent_value;
推荐阅读
- php - Wordpress - 自定义页面模板不会分配给页面
- javascript - 如何在没有 localStorage 的情况下保留令牌信息?反应 + 还原
- python - 使用 Pandas 展平嵌套字典
- visual-studio-code - Visual Studio 代码扩展开发 - 如何覆盖顶部菜单 F5 部署
- html - 背景图像上的位置按钮
- python - 加载先前训练的模型时奇怪的损失波动
- r - 在 R 中为每组添加缺失的行
- python - 在python中动态生成URL
- javascript - 从对象数组创建选项元素
- ios - 持久存储协调器核心数据错误:NSSQLiteErrorDomain = 522