我有一张表,如下所示:
工作计划:
JobId ProcessId DepartmentId Status ProcessedTime
1 100 10 Done 2022-11-08 19:41
2 101 10 Done 2022-11-09 19:41
3 100 10 Failed 2022-11-09 19:41
我想对group by ProcessId and select top 1 Status by latest
ProcessedTime
(order by ProcessedTime desc
)进行分组,然后再次按“Status
“分组,以计算“Done
“和“Failed
“统计信息。
最终输出:
Done = 1
Failed = 1
将根据最新的2022-11-09 19:41
考虑ProcessId = 100
的“Fail
“状态
代码:
var statistics = (from js in context.JobSchedular
where js.DepartmentId == 10
group by ProcessId //
select new StatisticsModel
{
Done = 1,
Failed = 1
}
).FirstOrDefault();
我在这里有点困惑,按ProcessId分组,按最近的ProcessedTime选择前1个状态,然后按“状态”进一步分组以计算统计信息。
有人能帮帮忙吗?
1条答案
按热度按时间8yparm6h1#
如果我正确理解预期结果,它应该是以下查询: