Esto es bastante simple pero estoy perdido: dado este tipo de conjunto de datos:
UserInfo(name, metric, day, other_metric)
y este conjunto de datos de muestra:
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
Me gustaría recuperar una tabla que enumera las métricas en orden (0,1,2,3 ..) con el número total de veces que ocurre el conteo. Entonces de este conjunto terminarías con:
0 3
1 2
2 2
3 1
Estoy lidiando con la sintaxis de LINQ pero estoy atascado en dónde poner un groupby y contar ... ¿alguna ayuda?
POST Edit: nunca pude hacer que las respuestas publicadas funcionen, ya que siempre devolvieron un registro con el número de recuentos diferentes. Sin embargo, pude armar un ejemplo de LINQ to SQL que funcionó:
var pl = from r in info
orderby r.metric
group r by r.metric into grp
select new { key = grp.Key, cnt = grp.Count()};
Este resultado me dio un conjunto ordenado de registros con 'métricas' y el número de usuarios asociados con cada uno. Soy claramente nuevo en LINQ en general y, para mi ojo inexperto, este enfoque parece muy similar al enfoque puro de LINQ, pero me dio una respuesta diferente.