열이있는 테이블이 있습니다 OneStopPrice; MultiStopPrice; NonStopPrice
. 3 열 모두에 Min()
을 갖고 싶습니다. 그러나 임의의 열의 Min()
이 0이면 무시해야합니다.0이 아닌 값의 Linq Min()
OneStop | NonStop | MultiStop
-----------------------------
233.23 | 0.0 | 355.23
여기서 NonStop은 무시할 수 있도록 최대 값으로 간주되어야합니다.
누구나 LinQ
을 사용하여이 아이디어가 있습니까?
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()
});
당신은 * 무시 * 무엇을 의미합니까 다음과 같이
나는 쿼리를 사용했다? 속성이 익명 객체에 나타나서는 안됩니까? –
'group.Where (c => c.OneStopPrice! = 0) .Min (c => c.OneStopPrice)'? 확실하지 않은, 당신이 무엇을하려고하는지. – Leri
무시 된 값은 가장 낮은 값 옆에있는 값을 원한다는 의미입니다. 0이 아닌 값의 Min()을 의미합니다. –