我的表有以下栏目: -Linq查询与group by子句
LevelId,LevelName,ScenarioId,TeamId。
我要选择当teamId分组对应最小LevelId LevelName
我的表有以下栏目: -Linq查询与group by子句
LevelId,LevelName,ScenarioId,TeamId。
我要选择当teamId分组对应最小LevelId LevelName
所以,你想:
这样听起来像:
var query = table.GroupBy(x => x.TeamId)
.Select(g => g.OrderBy(x => x.LevelId).First().Name);
不要只听此查询,并将其包含在你的代码虽然 - 确保你了解,所以你能拿出你有类似的东西做自己的解决方案下一次。
如果这是LINQ到对象,你可能会发现MoreLINQ将是有益的,其MinBy
方法:
var query = table.GroupBy(x => x.TeamId)
.Select(g => g.MinBy(x => x.LevelId).Name);
这避免了订购全团,只为找到的最低水平ID项。
我曾尝试: - UnitOfWork.Levels.Entities.Where( S => s.Scenario_Id == 10.GroupBy (T => t.Team_Id)。选择( 克=> g.Min(T = > t.Level_Id))。Distinct()。ToList(); 在上面的查询中,我想查找levelName对应的选定levelIds – user2044161 2013-03-22 10:51:53
@ user2044161:它非常难以阅读注释中编写的代码,发布甚至没有意义('10.GroupBy'?)我已经回答了你问的问题 - 在理解它之后尝试了我的解决方案吗? – 2013-03-22 10:54:20
StackOverflow不是代码写入服务。请阅读[提问一个好问题的指南](http://tinyurl.com/so-hints)并显示[你尝试过的](http://whatyouhavetried.com)。 – 2013-03-22 10:42:55
我试过以下查询: - – user2044161 2013-03-22 10:43:47
@ user2044161:请更新您尝试的原始问题。 – 2013-03-22 10:45:57