我在LINQ中寻找一种方法来匹配以下SQL查询。
Select max(uid) as uid, Serial_Number from Table Group BY Serial_Number
真的在这方面寻求一些帮助。上面的查询由于Group By
语法而获得每个序列号的最大uid 。
我在LINQ中寻找一种方法来匹配以下SQL查询。
Select max(uid) as uid, Serial_Number from Table Group BY Serial_Number
真的在这方面寻求一些帮助。上面的查询由于Group By
语法而获得每个序列号的最大uid 。
Answers:
var q = from s in db.Serials
group s by s.Serial_Number into g
select new {Serial_Number = g.Key, MaxUid = g.Max(s => s.uid) }
这可以在LINQ lamda表达式中使用GroupBy和SelectMany来完成
var groupByMax = list.GroupBy(x=>x.item1).SelectMany(y=>y.Where(z=>z.item2 == y.Max(i=>i.item2)));