首页 > 解决方案 > Asp.net core Group by 不重复字段

问题描述

我有一个名为“DeliveryFinance”的表,其中包含与交付财务相关的数据。这里我需要根据他/她交付的订单获取前十名司机列表,需要获取的数据是

  1. 驱动程序 ID
  2. OrderNo -- 司机最后送达的订单号 --
  3. 数数

为了实现这一点,我将它按 DriverId 分组并得到了计数。但我无法获得司机的最后一个 OrderNo

我的 DeliverFiance 表

| DriverId| OrderNo
|------------------
| 123123  | KSADJK| 
| 345534  | LJJSAS|
| 123123  | VXZXCZ|
| 123123  | REQWFA|
| 565534  | MCJSL1|
| 345534  | ASDCA3|

预期结果

| DriverId| OrderNo | Count |
|----------------------------
| 123123  | REQWFA  |      3|
| 345534  | ASDCA3  |      2|
| 565534  | MCJSL1  |      1|

这是我的代码,有人可以帮我获取最后一个订单号

var query = context.DeliveryFinances.AsQueryable();
var grouped = await query.GroupBy(x => new { DriverId = x.DriverId} )
                                     .Select(x => new { DriverId = x.Key.DriverId, Count = x.Count()})
                                     .OrderByDescending(x => x.Count)
                                     .Take(10)
                                     .ToListAsync();

                                                                                                                               

标签: c#asp.net-mvcpostgresqlasp.net-corelambda

解决方案


推荐阅读