繁体   English   中英

Linq查询SUM和COUNT

[英]Linq query SUM and COUNT

我有一个带有两列( itemPriceType1itemPriceType2 )的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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM