首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于检索给定ID集的最新记录的SQL Server查询

用于检索给定ID集的最新记录的SQL Server查询
EN

Stack Overflow用户
提问于 2012-08-08 07:26:47
回答 2查看 88关注 0票数 0

我有一张这样的桌子:

代码语言:javascript
运行
复制
ModuleID   TimeStamp           Value   TotalPerDay
1          8/5/2012 9:00 PM    0.25     0.25
2          8/5/2012 9:00 PM    0.15     0.15
3          8/5/2012 9:00 PM    0        0
4          8/5/2012 9:00 PM    1.25     1.25
1          8/5/2012 10:00 PM   0.05     0.30
3          8/5/2012 10:00 PM   0.89     0.89
4          8/5/2012 10:00 PM   0.14     1.39
4          8/5/2012 11:00 PM   0.70     2.09
4          8/5/2012 12:00 PM   0.43     2.52
...

我有15000个模块每小时更新一次这个表。此外,在午夜,TotalPerDay值被重置。

我正在努力处理一个查询,它应该为给定的一组ModuleID提取最新的TotalPerDay值。

我尝试在ModuleID上使用GROUP BY子句。但是,如何在不使用聚合函数的情况下检索最新的TotalPerDay值呢?

顺便说一下,我使用的是SQL Server2008。

提前感谢!

EN

Stack Overflow用户

发布于 2012-08-08 07:31:45

所以你想要的查询是:

代码语言:javascript
运行
复制
select moduleid, sum(value) as UpdatedTotalPerDay
from t
where moduleid in ( . . . )
group by moduleid

这个查询有什么问题?如果你有一个模块If的索引,那么性能应该是好的。

如果这有历史记录,那么您可能还需要条件

代码语言:javascript
运行
复制
where cast(timestamp as date) = cast(getdate() as date)
票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11855520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档