将不确定变为确定~Linq的Group是否可以根据多个字段进行分组

回到目录

linq中的查询与传统T-SQL有些不同,它为了体现VS的智能提示,在SQL写法上进行了自己的规定,如传统的select语句,可能是这样

select * from order_info

但在linq中,它会被写成这样

from data in order_info select data

今天要说的问题是linq 中的分组查询问题,也就是group by 问题,它是否可以支持对多个字段进行分组呢?

我们先来做实验,对订单中的所有用户进行分组,查出他们的订单金额总和

from m in Order_Info
group m by m.UserID into p
select new { ID = p.Key, score =p.Sum(m=>m.TotalFee)}

结果如下:

OK,现在需求有变化了,需要去把所有用户的订单金额进行统计的同时,还要将用户的支付方式进行区别,言外之意就是说要对用户和它的支付方式同时进行分组

代码可以这样写,用一个匿名对象来存储这两个字段即可

from m in Order_Info
group m by new{m.PayType,m.UserID} into p
select new { ID = p.Key, score =p.Sum(m=>m.TotalFee)}

结果如下:

最后推荐一个测试Linq的工具,LinqPad,挺好用的,呵呵。

回到目录

posted @   张占岭  阅读(3857)  评论(5编辑  收藏  举报
编辑推荐:
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· 程序员常用高效实用工具推荐,办公效率提升利器!
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
历史上的今天:
2011-05-23 大家一起来学习一下面向对象的三层架构吧!今天我来说说Entity有时也叫MODEL实体层!
2011-05-23 通过枚举返回指定字符结果[有时,好的程序就是一种规范,一种对事物的理解和认识,一种层次]
2011-05-23 通过一个抢购的需要,而引发的购物车问题(这个抢购是一个与主站不同的域名)
点击右上角即可分享
微信分享提示