Я хотел бы выполнить агрегированный запрос к DataTable, чтобы создать другой DataTable.Я не могу изменить SQL, используемый для создания начальной таблицы данных.
Исходная таблица данных: (все целые числа)
TeamID | MemberID
-------|-----------
1 | 1
1 | 2
1 | 3
2 | 4
2 | 5
Желаемый результат:
TeamID | MemberIDCount
-------|--------------
1 | 3
2 | 2
Еслиэто был SQL, который я мог бы просто сделать
Select TeamID, Count(*) From Table Group By TeamID
, но в моем приложении единственный способ, которым я знаю, как справиться с этим, был бы что-то вроде этого:
Dictionary<int,int> d = new Dictionary<int,int>();
foreach (DataRow dr in dt.Rows)
{
if (d.ContainsKey(dr.ID))
{
d[dr.ID] = d[dr.ID] + 1;
}
else
{
d.Add(dr.ID, 1);
}
}
Есть ли лучший способ