LinQ语句用group by实现分组

LinQ语句用group by实现分组

用group by into进行分组

(作者:邱名涛,撰写时间:2019年1月16日)

关键字说明
from指定范围变量和数据源
where根据bool表达式从数据源中筛选数据
select指定查询结果中的元素所具有的类型或报答形式
group(对查询结果按照键/值执行分组)
into提供了一个标识符,它可以充当对join、group或select 子句结果的引用
orderby对查询出的元素执行排序ascending /descending
join按照两个指定匹配条件对等连接两个数据源

操作代码:

在这里插入图片描述


//通过上面listDateTime的查询方法,将数据查询出来后,进行下面的分组。
//group tb by tb.StartTime1声明你要分组的是哪张表,什么类型!然后创建一个变量去接收。
//tb=表 、tb.StartTime1=分组字段、GrMarketingDate=新的变量

group tb by tb.StartTime1 into GrMarketingDate
                        select new ShangPinVo
                        {
                            marketingID = GrMarketingDate.OrderByDescending(m => m.MarketingSubdivideID).FirstOrDefault().marketingID,
                            StartTime1 = GrMarketingDate.OrderByDescending(m => m.MarketingSubdivideID).FirstOrDefault().StartTime1,//相同的日期
                            Number = GrMarketingDate.Sum(m => m.Number),//相同的物品销售数
                            MarketingPrice = GrMarketingDate.Sum(m => m.MarketingPrice),//相同的物品销售金额
                            Stock = GrMarketingDate.Sum(m => m.Stock),//成本金额
                        }).ToList();

效果演示:

在这里插入图片描述