分组查询的select子句是否能进行条件过滤?
var Product14 = from c in srhxxzxgroup c by c.productName into g
select new
{
g.Key,
minProduct=g.Min (c=>c.minProduct),
maxProduct=g.Max (c=>c.maxProduct),
timeMinProduct=???-----------------要查询最小产品的对应时间
sumP=g.Sum(c=>c.amountP &&?????)---这里想过滤amountP=-999的值,不让有这个值的参与求和
};
srhxxzx集合有如下属性值:productName,MinTemp,MaxTemp,timeMinProduct,timeMaxProduct,amountP
想实现上面说的过滤,就是找到minProduct所在记录的timeMinProduct的值,还有求和时候过滤-999的值,不知道在select中能否实现?
--------------------编程问答-------------------- 自己解决了,可以在g中用where条件进行限制。。。 --------------------编程问答-------------------- var Product14 = from c in srhxxzx
group c by c.productName into g
select new
{
g.Key,
minProduct=g.Min (c=>c.minProduct),
maxProduct=g.Max (c=>c.maxProduct),
timeMinProduct=g.OrderBy(c=>c.ID).time,-----------------要查询最小产品的对应时间
sumP=g.Where(c=>c.amountP != -999).Sum(c=>c.amountP)---这里想过滤amountP=-999的值,不让有这个值的参与求和
};
--------------------编程问答--------------------
当然可以啊,各种扩展方法都可以运用 --------------------编程问答--------------------
这个就可以了 但是让我写容易写反了,看了他的也是一种收获 --------------------编程问答-------------------- var Product14 = from c in srhxxzx
group c by c.productName into g
select new
{
g.Key,
minProduct=g.Min (c=>c.minProduct),
maxProduct=g.Max (c=>c.maxProduct),
timeMinProduct=g.Min(c=>c.minProduct).time???-----------------要查询最小产品的对应时间
sumP=g.where(c=>c.amountP!=-999).Sum(c=>c.amountP)---这里想过滤amountP=-999的值,不让有这个值的参与求和
};
补充:.NET技术 , LINQ