我的表格包含以下列: -
LevelId,LevelName,ScenarioId,TeamId。
我想在按teamId
分组时选择与最小LevelId对应的LevelName答案 0 :(得分:0)
所以,你想:
听起来像这样:
var query = table.GroupBy(x => x.TeamId)
.Select(g => g.OrderBy(x => x.LevelId).First().Name);
不要只是接受这个查询并将其包含在您的代码中 - 确保理解它,以便下次有类似的事情时可以提出自己的解决方案。
如果这是在LINQ to Objects中,您可能会发现MoreLINQ对MinBy
方法很有用:
var query = table.GroupBy(x => x.TeamId)
.Select(g => g.MinBy(x => x.LevelId).Name);
这可以避免对整个组进行排序,只是为了找到具有最低级别ID的条目。