如何使用LINQ汇总此数据 – 按这些关系的计数分组的关系数
我有一个简单的表,如:
| fkId | 项目| --------------- | 1 | A | | 1 | B | | 1 | C | | 1 | D | | 2 | H | | 2 | 我| | 3 | Y | | 3 | Z |
我想要一个LINQ查询,它首先计算每个fkId项的数量,然后用给定的项目数来报告fkId的数量。
通过样本数据,我想知道我有1x ID和4x项目,2x ID和2x项目
所以,像:
| ItemCount | fkIdsWithItemCount | ---------------------------------- | 4 | 1 | | 2 | 2 |
我正在中途(“每个fkID有多少项目”):
MyTable .GroupBy(i => i.FkID) .Select(i => i.Count())
你有一个.GroupBy
中途 – 现在你必须应用另一个.GroupBy
来完成剩下的工作:
MyTable.GroupBy(i => i.FkID) .GroupBy(group => group.Count()) .Select(group => new { ItemCount = group.Key, FkIdsWithItemCount = group.Count() });