我有一个SQL Server Order
表,其中包含两列(itemPriceType1
和itemPriceType2
)。我需要获取Linq查询或lambda表达式中的总计数和两列的总和。
Order
tTable
SELECT *
,[userID] as id
,[itemPriceType1] as itemCost1
,[itemPriceType2] as itemCost2
FROM order;
查询结果:
期望的结果:
我想得到总COUNT和总和。
EG。
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.问题,如何改进此查询?也可能得到这笔钱?
答案 0 :(得分:0)
一种方法是对一个属性执行操作,对另一个属性执行操作并将两个结果相加:
要计算:
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);