[英]Linq Min() of Non-zero values
I have a table with columns OneStopPrice; MultiStopPrice; NonStopPrice
我有一个带有OneStopPrice; MultiStopPrice; NonStopPrice
列的表OneStopPrice; MultiStopPrice; NonStopPrice
OneStopPrice; MultiStopPrice; NonStopPrice
OneStopPrice; MultiStopPrice; NonStopPrice
. OneStopPrice; MultiStopPrice; NonStopPrice
。 I want to have Min()
for all 3 columns. 我希望所有3列都具有Min()
。 But if Min()
of any column is 0, It must be ignored. 但是,如果任何列的Min()
为0,则必须将其忽略。
OneStop | NonStop | MultiStop
-----------------------------
233.23 | 0.0 | 355.23
Here NonStop must be then considered as highest value so as to ignore it. 然后必须将NonStop视为最高值,以便忽略它。
Anyone have idea for this using LinQ
? 任何人有使用LinQ
想法吗?
I have used query as follows: 我使用查询如下:
var data = odyResults.GroupBy(logEle => new { logEle.Air.FromCity, logEle.Air.ToCity }, (key, group) => new{
FromCity = key.FromCity,
ToCity = key.ToCity,
OneStopPrice = group.Min(x=>x.Air.OneStopPrice),
MultiStopPrice = group.Min(x => x.Air.MultiStopPrice),
NonStopPrice = group.Min(x => x.Air.NonStopPrice),
FromToCityCount = group.Count()
});
Just filter out the zeros: 只需滤除零即可:
NonStopPrice = group.Where(x => x.Air.NonStopPrice > 0)
.Min(x => x.Air.NonStopPrice),
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.