为了账号安全,请及时绑定邮箱和手机立即绑定

如何在LINQ查询中使用GROUP BY获取MAX行?

如何在LINQ查询中使用GROUP BY获取MAX行?

皈依舞 2019-12-27 09:25:45
我正在寻找一种在LINQ中匹配以下SQL查询的方法。Select max(uid) as uid, Serial_Number from Table Group BY Serial_Number真的在这方面寻求一些帮助。上面的查询由于Group By语法而获得每个序列号的最大uid 。
查看完整描述

3 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

    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()

                        };

        }


查看完整回答
反对 回复 2019-12-27
?
交互式爱情

TA贡献1712条经验 获得超3个赞

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) }


查看完整回答
反对 回复 2019-12-27
?
互换的青春

TA贡献1797条经验 获得超6个赞

以方法链形式:


db.Serials.GroupBy(i => i.Serial_Number).Select(g => new

    {

        Serial_Number = g.Key,

        uid = g.Max(row => row.uid)

    });


查看完整回答
反对 回复 2019-12-27
  • 3 回答
  • 0 关注
  • 835 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信