C# 林克群比。返回数据子集的前一项
我有一个航班价格数据表,我想返回到每个目的地的前1名最便宜的航班。该表包含以下基本字段:C# 林克群比。返回数据子集的前一项,c#,sql,linq,group-by,C#,Sql,Linq,Group By,我有一个航班价格数据表,我想返回到每个目的地的前1名最便宜的航班。该表包含以下基本字段: FlightInfoID AirportFrom AirportTo Price 我尝试了以下方法,但它没有返回我预期的结果,因为特定目的地有多个项目,每个目的地我只需要一个结果,因此如果我有50个目的地,我将返回50个项目 lstBestFlightDealsForAllRoutes.OrderBy(p=> p.Price).GroupBy(x => x.AirportTo).First()
FlightInfoID
AirportFrom
AirportTo
Price
我尝试了以下方法,但它没有返回我预期的结果,因为特定目的地有多个项目,每个目的地我只需要一个结果,因此如果我有50个目的地,我将返回50个项目
lstBestFlightDealsForAllRoutes.OrderBy(p=> p.Price).GroupBy(x => x.AirportTo).First();
flights.GroupBy(f => f.Destination).Select(g => g.OrderBy(f => f.Cost)).Select(g => g.First())
切换groupby和orderby。
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