【问题标题】:Query data in certain period of time, and group by each date and count total data for each date查询特定时间段的数据,并按每个日期分组,统计每个日期的总数据
【发布时间】:2014-10-30 06:36:03
【问题描述】:

在 linq 中需要一些帮助

我想实现获取数据,比如说从'2014-09-01'到'2014-10-30'

我想将具有相同日期的数据分组为 1 条记录,+ 计算每个日期的总出现数据。

像这样:

2014-09-01, 9 records
2014-09-12, 4 records

等等..

已经尝试过了,我可以获取时间段内的数据并按日期分组,但不确定如何计算每个日期在给定时间段内发生的数据:

var data = CTX.application.Where(a => a.applied_date >= new Datetime(2014,9,1)  
                                   && a.applied_date <= new Datetime(2014,10,30)
                               .GroupBy(g => g.applied_date))

【问题讨论】:

标签: c# .net linq linq-to-sql


【解决方案1】:

试试这个:-

var query = logs.Where(x => x.LogDate > new DateTime(2014, 09, 20) && x.LogDate < new DateTime(2014, 10, 12))
                                .GroupBy(x => x.LogDate).Select(x => new { LogDate = x.Key, Count = x.Count() });

工作Fiddle

【讨论】:

  • 猜猜,你也得选择日期,否则你不知道,什么日期属于什么计数:)
  • 啊我想这就是我想要的,所以我只缺少选择部分哈!谢谢启蒙。
  • 顺便说一句,我的应用日期字段它具有日期时间数据类型,我可以忽略第二个,如果它具有相同的日期,仍然按日期分组吗?
  • @HendraLim - 在这种情况下仅按日期分组。使用 - .GroupBy(x => x.LogDate.Date)
猜你喜欢
  • 2019-06-20
  • 2022-01-07
  • 2015-04-30
  • 1970-01-01
  • 2016-10-17
  • 2014-05-04
  • 2018-05-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多