[英]Linq query SUM and COUNT
我有一个带有两列( itemPriceType1
和itemPriceType2
)的SQL Server Order
表。 我需要获取Linq查询或lambda表达式中两列的总数和总和。
Order
表
SELECT *
,[userID] as id
,[itemPriceType1] as itemCost1
,[itemPriceType2] as itemCost2
FROM order;
查询结果:
所需结果:
我想获取总数COUNT和总数SUM。
例如。
Count = 4
Sum = 700
我的尝试
var result1 = (from col1 in db.Orders
where col1.itemPriceType1 != 0
select col1).Count();
var result2 = (from col1 in db.Orders
where col1.itemPriceType2 != 0
select col1).Count();
ViewBag.count = (result1+result2);
在上面的查询中,我得到的正确计数是4。问题,如何改进此查询? 并可能获得总和?
一种方法是对一个属性执行操作,对另一个属性执行操作,然后将两个结果相加:
获得计数:
var count = db.Orders.Count(o => o.itemPriceType1 != 0) +
db.Orders.Count(o => o.itemPriceType2 != 0);
和:
var sum = db.Orders.Sum(o => o.itemPriceType1) +
db.Orders.Sum(o => o.itemPriceType2);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.