Isso é bastante simples, mas estou perplexo: dado esse tipo de conjunto de dados:
UserInfo(name, metric, day, other_metric)
e este conjunto de dados de amostra:
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
Gostaria de recuperar uma tabela que lista as métricas em ordem (0,1,2,3 ..) com o número total de vezes que a contagem ocorre. Portanto, desse conjunto, você terminaria com:
0 3
1 2
2 2
3 1
Estou lutando com a sintaxe LINQ, mas estou preso em onde colocar um groupby e contar .... qualquer ajuda ??
POST Edit: Eu nunca consegui que as respostas postadas funcionassem, pois elas sempre retornavam um registro com o número de contagens diferentes. No entanto, consegui montar um exemplo de LINQ to SQL que funcionou:
var pl = from r in info
orderby r.metric
group r by r.metric into grp
select new { key = grp.Key, cnt = grp.Count()};
Esse resultado me deu um conjunto ordenado de registros com 'métricas' e o número de usuários associados a cada um. Eu sou claramente novo no LINQ em geral e, para meus olhos destreinados, essa abordagem parece muito semelhante à abordagem pura do LINQ, mas me deu uma resposta diferente.