查询表以跨行排序总和并根据LINQ中的值进行计数

时间:2011-11-19 23:13:35

标签: c# linq linq-to-sql

这是我的问题。我有3-5个人要为一个人设定一个等级,他们使用他们自己的行来这样做,而我无法做的是对多行中的个别数据进行求和并求平均值。同桌。

在select new语句中,我已经对我想要的内容做了一个伪答案

    var users = from workRew in db.Reviews
                select new
                {
                    UserID = workRew.UserID.DistinctOfSomeSort
                    AvgGrade = workRew.Grade.Sum/CountOfSomeSort
                };

我在这里举例说明。 所以如果我有这张桌子

| SomeID | UserID | Grade |
|   1    |   2    |   3   |
|   2    |   3    |   1   |
|   3    |   2    |   1   |

这是我想从上面的LINQ查询中得到的输出(理论上是ateast)

| UserID | AvgGrade |
|   2    |    2     |
|   3    |    1     |

编辑:在很大程度上简化了整个案例。

1 个答案:

答案 0 :(得分:0)

它应该看起来像这个片段:

group by user.UserID
select new
{
   User = user.UserID
   TotGradeCount = workRew.Grade.Sum()
   Graders = workRew.Grade.Count()
}