在 linq asp.net db 表中计算每个月出现的次数



我有一个包含date列的表。

我想使用 LINQ 查询并计算每个月发生的次数并像month, occurrence of month in the table一样显示它

1=2(1 is month, 2 is number of occurrence),2=5,3=12等使用 asp.net。

有人可以告诉我该怎么做。

提前谢谢。

这个怎么样?

var dates = Enumerable.Range(1, 5).Select(i=>new DateTime(2015,i%3+1,1));
var grouped = dates.GroupBy(d => d.Month).Select(g => string.Format("{0}={1}", g.Key, g.Count()));
// Now grouped will have your desired data (list of occurrences)

我在这里使用了假日期。您需要改为从数据库中Select日期列。

如果要使用 lambda 而不是 long linq,可以执行以下操作。尽管您需要将数字月份转换为文本。

var somedates = new List<DateTime>() { 
            DateTime.Now, 
            DateTime.Now.AddDays(10), 
            DateTime.Now.AddMonths(1), 
            DateTime.Now.AddMonths(1).AddDays(5)};
var months = somedates.GroupBy(x => x.Month).Select(g => new {Name = g.Key, Count = g.Count()});

相关内容

  • 没有找到相关文章

最新更新