我的表有以下欄目: -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