Это довольно просто, но я в недоумении: Учитывая этот тип набора данных:
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, но я застрял на том, где положить группу и подсчитать.... любая помощь?
POST Edit: я никогда не мог заставить опубликованные ответы работать, поскольку они всегда возвращали одну запись с количеством разных счетчиков. Однако мне удалось собрать пример 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, но дал мне другой ответ.