代码之家  ›  专栏  ›  技术社区  ›  STW

如何使用LINQ来总结这些数据——按关系数分组的关系数

  •  3
  • STW  · 技术社区  · 15 年前

    | fkId | Item |
    ---------------
    |    1 |    A |
    |    1 |    B |
    |    1 |    C |
    |    1 |    D |
    |    2 |    H |
    |    2 |    I |
    |    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())
    
    1 回复  |  直到 15 年前
        1
  •  4
  •   Timwi    15 年前

    你带着一个 .GroupBy 现在你必须申请另一个 剩下的事:

    MyTable.GroupBy(i => i.FkID)
           .GroupBy(group => group.Count())
           .Select(group => new { ItemCount = group.Key,
                                  FkIdsWithItemCount = group.Count() });
    
    推荐文章