这很简单,但我很茫然:鉴于这种数据集:
UserInfo(name, metric, day, other_metric)
和此示例数据集:
joe 1 01/01/2011 5
jane 0 01/02/2011 9
john 2 01/03/2011 0
jim 3 01/04/2011 1
jean 1 01/05/2011 3
jill 2 01/06/2011 5
jeb 0 01/07/2011 3
jenn 0 01/08/2011 7
我想检索一个表,该表按顺序(0,1,2,3 ..)列出指标,其中包含发生计数的总数。因此,从这个集合中您将得到:
0 3
1 2
2 2
3 1
我正在努力使用LINQ语法,但是在哪里放置groupby并计数...有任何帮助吗?
开机自检编辑:我始终无法获得已发布的答案,因为它们总是返回一条记录,且记录的数目不同。但是我能够整理一个有效的LINQ to SQL示例:
var pl = from r in info
orderby r.metric
group r by r.metric into grp
select new { key = grp.Key, cnt = grp.Count()};
这个结果给了我一个有序记录集,其中包含“指标”以及与之相关的用户数量。显然,我对LINQ来说是新手,对我而言,未经训练的人,这种方法似乎与纯LINQ方法非常相似,但是却给了我不同的答案。