当前位置:Gxlcms > 数据库问题 > LINQ SQL分组取最近一条记录

LINQ SQL分组取最近一条记录

时间:2021-07-01 10:21:17 帮助过:7人阅读

* FROM ( select ROW_NUMBER()over(partition by [custid] order by [orderdate] desc) AS newIndex,* from Sales.Orders ) as T where T.newIndex=1

执行结果,已经按照客户分组,并且按时间顺序生成序号。

技术分享

对应LINQ代码为

var table = contex.GetTable<Orders>().ToList();

                var data = table.OrderByDescending(a => a.orderdate).GroupBy(a => a.custid)
                    .Select(g => new { g, count = g.Count() })
                    .SelectMany(t => t.g.Select(b => b)
                        .Zip(Enumerable.Range(1, t.count), (j, i) => new { j.custid, j.shipname, rn = i }));

 

LINQ SQL分组取最近一条记录

标签:

人气教程排行