gpt4 book ai didi

c# - 使用 Linq 从表中计算星期一、星期二等的数量

转载 作者:行者123 更新时间:2023-12-04 00:31:13 27 4
gpt4 key购买 nike

我试图弄清楚如何使用 Linq 和 C# 计算表中星期一、星期二等的数量

这是我的示例数据:

Status      StatusDate

DELIVRD 2015-04-16 11:57:47.000

DELIVRD 2015-04-16 13:02:57.000

我知道我需要使用分组依据将相同的星期一、星期二等分组为 1。

我的尝试:

var mondays = rad.SMSSentItems
.Where(x => (x.StatusDate.Value.DayOfWeek == DayOfWeek.Monday)
&& (x.Status == "DELIVRD"))
.ToList()
.Count;

最佳答案

您需要按所需的状态 (DELIVRD) 进行过滤,然后按状态日期的 DayOfWeek 进行分组

var weekDays = rad.SMSSentItems
.Where(x => x.Status == "DELIVRD")
.AsEnumerable()
.GroupBy(x => x.StatusDate.Value.DayOfWeek)
.Select(g => {
//Total items sent on this day of the week
var totalItemCount = g.Count();
//Total number if this distinct day of the week
var totalNumberOfDays = g.Select(x => x.StatusDate.Value.Date).Distinct().Count();
return new {
DayOfWeek = g.Key,
TotalItemCount = totalItemCount,
TotalNumberOfDays = totalNumberOfDays,
AverageItemPerDay = totalItemCount / totalNumberOfDays
};
})
.ToList();

关于c# - 使用 Linq 从表中计算星期一、星期二等的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47955326/

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