列表中的Sum值按Distinct C#排序

时间:2016-02-12 02:57:49

标签: c# html sql linq list

我在C#中有一个包含此类数据的列表:

REST CENA 5
REST COMIDAS 3
REST DESAYUNO 4
VIPP CENA 52
VIPP COMIDAS 31
VIPP DESAYUNO 45
REST CENA 2
REST COMIDAS 8
REST DESAYUNO 87
VIPP CENA 12
VIPP COMIDAS 325
VIPP DESAYUNO 21

我希望能够在HTML输入中显示REST,VIPP,COMIDAS,DESAYUNOS和CENA的所有数据的总和,就像这样



@foreach (var item in Model.Select(l => l.Pdv).Distinct())
<input value="@item">

                                                    }
                                                   @*
&#13;
&#13;
&#13;

但是这只给了我REST和VIPP女巫的价值,但是我想也像这样总结一下REST和VIPP的价值

REST 109
VIPP 486

也能够获得

CENA 71
COMIDAS 367
DESAYUNO 293

我知道我需要6个单独的查询,但我怎么能写这些?

1 个答案:

答案 0 :(得分:2)

您可以使用GroupBy

执行此操作
foreach(var item in Model.GroupBy(l => l.Pdv)
                         .Select(g => new 
                                      {
                                          Pdv = g.Key, 
                                          Sum = g.Sum(l => l.WhateverYouAreSumming) 
                                       }))