gpt4 book ai didi

c# - LINQ:数据范围内的最新数据总和

转载 作者:太空宇宙 更新时间:2023-11-03 14:50:33 25 4
gpt4 key购买 nike

我的数据库中有一个快照表,其中包含预约可用性的历史数据。

我正在尝试编写 LINQ 查询以从最新快照获取给定日期范围内的 AvailableSlots 总数。

这是我的表格的样子:

enter image description here

因此,对于这个给定的数据,我希望我的 LINQ 查询返回 2018-01-01 - 2018-01-02 日期范围内的 AvailableSlots 总和以及最新的 SnapShotTime。所以,我希望查询返回 4。

这是我目前所拥有的。

var test = db.snapshots
.GroupBy(g =>
g.AppointmentTime >= startDate &&
g.AppointmentTime <= endDate
).Select(s => s.OrderByDesending(x => x.SnapShotTime).FirstOrDefault();

但是,我不确定如何将可用槽的总和放入此 LINQ 查询中。任何有关编写此查询的帮助都将不胜感激!

最佳答案

我看不到你写的查询,但根据你的解释,我认为这样的事情可能有用

var query=db.snapshots
.Where(x=>x.AppointmentTime >= startDate &&
x.AppointmentTime <= endDate)
.GroupBy(x=>x.SnapShotTime)
.OrderByDesending(g=>g.Key)
.Take(1)
.Sum(x=>x.Value.AvailableSlots);

或者如果它看起来很复杂,你最好先像这样获取最新日期

var latest=db.snapshots
.OrderByDesending(x => x.SnapShotTime)
.FirstOrDefault().SnapShotTime;

然后像这样得到你的计数

var query=db.snapshots
.Where(x=>x.AppointmentTime >= startDate &&
x.AppointmentTime <= endDate &&
x.SnapShotTime==latest)
.Sum(x=>x.AvailableSlots);

关于c# - LINQ:数据范围内的最新数据总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51992694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com