sky*_*ake 1 c# asp.net-mvc entity-framework
我有两张桌子Student和Course。
该表Course采用StudentId的FK关键。里面的Course表格Score是学生选修的每门课程。
现在,我如何计算Score与 相关的总平均值StudentId?
这是我得到了多远(Id=学生 id):
var avg = db.Courses.Where(c=> c.StudentId == Id ... ?
Run Code Online (Sandbox Code Playgroud)
编辑:该Course表有一些null在Score未完成cources。
来源:从数字序列返回平均值
鉴于分数可以为空,那么您应该只获取具有有效分数的记录
var avg = db.Courses
.Where(c => c.StudentId == Id && c.Score != null)
.Average(c => c.Score);
Run Code Online (Sandbox Code Playgroud)
如果您要查找每个学生的平均分数,则可以同时使用GroupBy和Average。
var avgerages = db.Courses
.Where(c => c.Score != null)
.GroupBy(g => g.StudentId, c => c.Score )
.Select(g => new
{
StudentId = g.Key,
Average = g.Average()
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2893 次 |
| 最近记录: |