我有一张航类价格数据表,我想返回每个目的地的前 1 个最便宜的航类。该表有以下基本字段:
FlightInfoID
AirportFrom
AirportTo
Price
我尝试了以下方法,但它没有返回我预期的结果,因为对于一个特定的目的地有多个项目,我只希望每个目的地有 1 个结果,所以如果我有 50 个目的地,我会返回 50 个项目。
lstBestFlightDealsForAllRoutes.OrderBy(p=> p.Price).GroupBy(x => x.AirportTo).First();
最佳答案
from f in lstBestFlightDealsForAllRoutes
group f by new { f.AirportFrom, f.AirportTo } into g // group by route
select g.OrderBy(x => x.Price).First() // select cheapest flight
关于c# - Linq GroupBy。返回数据子集的前一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15342082/