同一年和相同身份查询的总和

时间:2015-05-09 06:38:50

标签: c# sql sql-server

我的表是:

我通过查询得到了这条记录:

var result = (from r in context.tbl_PlantDemand
              join d in context.tbl_NoOfPlantDemanded on r.Id equals d.PlantDemandId  
              join c in context.Clones on d.CloneId equals c.Id
              where r.PifId == pifId
              select new
                     {
                        FinancialYear = r.FinancialYearVal,
                        TypeId = r.PlantationType,
                        Amt = d.Demand
                     }).ToList();

输出:

    FinancialYear  TypeId       Amt
    ---------------------------------
    2015-16           1         100  
    2015-16           1         50  
    2015-16           1         20  
    2016-17           2         100 
    2016-17           2         10  

我需要一个Amt总和的结果,取决于分组的2列和年份。 typeId

     FY    TId    Amt
  --------------------
  2015-16  1      170
  2016-17  2      110

我可以轻松地按列分组,但不知道如何与多列相加。如果有人知道,请告诉我

1 个答案:

答案 0 :(得分:1)

我认为您不必按year分组:

select max([Year]), [Type Id], sum([Amt])
from Table1
group by [Type Id]

sql fiddle demo