如何在LINQ查询中获得带有 GROUP BY的MAX行?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (412)

我正在寻找一种在LINQ中匹配以下SQL查询的方法。

Select max(uid) as uid, Serial_Number from Table Group BY Serial_Number

上面的查询获得每个序列号的最uid,因为Group By语法。

提问于
用户回答回答于
        using (DataContext dc = new DataContext())
        {
            var q = from t in dc.TableTests
                    group t by t.SerialNumber
                        into g
                        select new
                        {
                            SerialNumber = g.Key,
                            uid = (from t2 in g select t2.uid).Max()
                        };
        }
用户回答回答于
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) }

扫码关注云+社区

领取腾讯云代金券