我有一张有货运ID和clientid的表;我希望将与每个客户端ID相关联的shipmentid计数结果。什么是linq呢?
答案 0 :(得分:1)
该表包含两个字段ClientID和ShipID shipId是主要字段 key和clientID可以有多个shipid。我想要查询 返回shipid的数量以及相关的clientid和 从结果中选择前两个结果。我可以这样做吗? -
您可以尝试这样的事情:
var result = db.shipmentClient
.GroupBy(sc=>sc.clientId)
.Select(gr=>new
{
ClientId = gr.Key(),
Shipments = gr.Count()
})
.OrderByDescending(x=>x.Shipments)
.Take(2);
我认为db
是您的数据库上下文类,shipmentClient是您的表的名称。如果是这样,您可以根据ClientId按上述方式创建一个组,然后计算与客户关联的货件数量。然后您订购结果并选择前两个结果。