【发布时间】:2016-04-01 20:32:48
【问题描述】:
我有每日购物金额的数据库记录。 示例记录如下:
14.12.2015 11:00 --- 750,00
14.12.2015 14:35 --- 295,00
.....2015 年 12 月 14 日有成千上万个
15.12.2015 17:45 --- 650,00
15.12.2015 18:46 --- 395,00
....有成千上万的 15.12 和接下来的日子,直到
24.12.2015 12:38 --- 675,00 ...
这意味着我有 12 月 14 日至 24 日 11 天的记录。我想按日期对记录进行分组。所以我使用 Linq to Entities 命令并得到了我想要的结果。
var dailyList = await db.ShoppingData.Where(c=>StoreId == id)
.Groupby(c=> SqlFunctions.DatePart("dw",c.ShoppindDate))
.Select(o=> new ShowShoppingDailyVM{
Day = o.Key,
Turnover = o.DefaultIfEmpty().Sum(a=>a.InvoiceAmount),//Total Turnover
Avg= o.DefaultIfEmpty().Sum(a=>a.InvoiceAmount) / (What??) //Avg turnover
Count = o.Count()
}).ToListAsync();
这给了我
1,2,3,4,5,6,7 为天,
1200、1450、960...作为计数
12.500, 17.650, 18.950... 作为营业额
在这 11 天里,我有 2 个星期一、2 个星期二、2 个星期三和 2 个星期四(1 个星期五,1 个星期六,1 个星期日)。 我需要一些能给我周一平均营业额的东西。当我使用平均方法时,它将星期一营业额除以星期一计数(实际上是 CartAverage)。 但我实际上需要获得星期一营业额/星期一计数(2 个星期一而不是 1200 笔交易)
如何获取每日累计金额?
【问题讨论】:
标签: c# linq date asp.net-mvc-5 linq-to-entities