List<Sales> sales = ctn.Sales.Where(s => s.DateSold >= request.FromDate && s.DateSold <= request.ToDate).ToList();
销售清单中的项目如下所示:
SaleID | DateSold | ProductID | ShopID
作为报告的一部分,我想向用户返回一个简单的字符串,通知他们哪一天哪一天往往卖得最多。
所以我认为我应该做的是按天分组销售,计算每天的数量,然后评估哪个数量最多,但我不确定如何做到这一点。
有人可以帮忙吗?
答案 0 :(得分:12)
您只需要对DateSold
进行分组,然后按计数排序(告诉您有多少项属于该组):
salesByDay = sales.GroupBy(s => s.DateSold).OrderBy(g => g.Count());
答案 1 :(得分:1)
如果您将已售商品的确切日期时间设置为DateSold,则可能需要按日期部分和分组
from sale in sales
group sale by sale.DateSold.Date into grouped
orderby grouped.Count()
select new {Date = grouped.Key, Count = grouped.Count()};
答案 2 :(得分:0)
这将为您提供销售最多的日期:
sales.GroupBy(x => x.DateSold).OrderByDescending(g => g.Count()).FirstOrDefault().Key;