急求LINQ表达式

lgx1972 2009-07-05 08:19:45
有如下数据表:

姓名 部门 工资 奖金
-----------------------------
张三 业务部 2200 300
李四 资源部 3100 200
王五 工 会 2800 100
赵六 财务部 3300 500
张三 业务部 1000 100
马七 工程部 3300 300
王五 工 会 1200 300
------------------------------

想要合并后的结果如下:

姓名 部门 工资 奖金
-----------------------------
张三 业务部 3200 400
李四 资源部 3100 200
王五 工 会 4000 400
赵六 财务部 3300 500
马七 工程部 3300 300
------------------------------

即:把姓名和部门相同某人的工资奖金求和


该功能用 LINQ 语句如何写?
...全文
96 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lgx1972 2009-07-22
  • 打赏
  • 举报
回复
感谢各位大侠 VB2008 的代码也已经试验成功,特此登出供大家学习:


Dim staffs = From p In db.Staff _
Group By p.姓名,p.部门 Into g = Group _
Select 姓名,部门,工资=g.Sum(Function(p) p.工资),奖金=g.Sum(Function(p) p.奖金)

Richard345265669 2009-07-20
  • 打赏
  • 举报
回复
这个没有必要用Linq吧,一个Group by就OK了
good2speed 2009-07-19
  • 打赏
  • 举报
回复

var table = array
.GroupBy(item => new { Name = item.Name, Deprt = item.Deprt })
.Select(grouping => new
{
Name = grouping.Key.Name,
Depart = grouping.Key.Deprt,
Salary = grouping.Sum(x => x.Salary),
Bonus = grouping.Sum(x => x.Bonus)
});
good2speed 2009-07-19
  • 打赏
  • 举报
回复
var array = new Foo[]{
new Foo(){ Name="张三",Deprt="业务部", Salary=2200, Bonus=300},
new Foo(){ Name="李四",Deprt="资源部", Salary=3100, Bonus=200},
new Foo(){ Name="王五",Deprt="工 会", Salary=2800, Bonus=100},
new Foo(){ Name="赵六",Deprt="财务部", Salary=3300, Bonus=500},
new Foo(){ Name="张三",Deprt="业务部", Salary=1000, Bonus=100},
new Foo(){ Name="马七",Deprt="工程部", Salary=3300, Bonus=300},
new Foo(){ Name="王五",Deprt="工 会", Salary=1200, Bonus=300}
};

var table = from item in array
group new { Salary = item.Salary, Bonus = item.Bonus }
by new { Name = item.Name, Deprt = item.Deprt } into grouping
select new
{
Name = grouping.Key.Name,
Depart = grouping.Key.Deprt,
Salary = grouping.Sum(x=>x.Salary),
Bonus = grouping.Sum(x=>x.Bonus)
};
shinlgienls 2009-07-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 oec2003 的回复:]
表结构
Staff (ID,Name ,Departments,Wage,Award) 依次为主键ID,姓名,部门,工资,奖金

linq写法
C# code
var staffs= from pin db.Staff
group p bynew {Name=p.Name,Departments=p.Departments} into g
selectnew
{
Name=g.Key.Name,
Departments=g.Key.Departments,
TotalWage=g.Sum(p=>p.Wage),
TotalAward=g.Sum(p=>p.Award)
};
[/Quote]1
oec2003 2009-07-05
  • 打赏
  • 举报
回复
表结构
Staff (ID,Name ,Departments,Wage,Award) 依次为主键ID,姓名,部门,工资,奖金

linq写法

var staffs = from p in db.Staff
group p by new {Name=p.Name,Departments=p.Departments} into g
select new
{
Name=g.Key.Name,
Departments=g.Key.Departments,
TotalWage=g.Sum(p=>p.Wage),
TotalAward=g.Sum(p=>p.Award)
};

lgx1972 2009-07-05
  • 打赏
  • 举报
回复
帮忙写个详细点的代码吧,试了多次,不行
十八道胡同 2009-07-05
  • 打赏
  • 举报
回复
sum
group by
wuyq11 2009-07-05
  • 打赏
  • 举报
回复
通过group分组再求和
参考
lgx1972 2009-07-05
  • 打赏
  • 举报
回复
有VB.NET的代码吗?
内容概要:本文围绕考虑阶梯式碳交易与供需灵活双响应的综合能源系统优化调度问题展开研究,提出了一种结合阶梯式碳交易机制与需求侧灵活响应能力的综合能源系统优化调度模型。通过引入阶梯式碳交易机制,激励系统减少碳排放,同时充分挖掘电、热、气等多能负荷的供需双侧灵活性,提升系统运行的经济性与环保性。采用Matlab进行仿真建模与求解,验证了所提模型在降低系统运行成本、提高可再生能源消纳能力和减少碳排放方面的有效性。研究内容涵盖目标函数构建、约束条件设定、多能耦合设备建模以及求解算法实现等关键环节,为低碳、高效、灵活的综合能源系统调度提供了理论支持和技术路径。; 适合人群:具备一定电力系统、能源系统或优化理论基础,从事相关领域研究的研究生、科研人员及工程技术人员,尤其适合关注碳交易机制、需求响应与综合能源系统优化的从业者。; 使用场景及目标:① 掌握阶梯式碳交易机制在综合能源系统调度中的建模方法;② 学习如何量化与整合供需双侧灵活性资源参与系统优化;③ 实现综合能源系统多目标优化调度的Matlab编程与仿真分析;④ 为实际能源系统低碳调度策略制定提供参考依据。; 阅读建议:建议读者结合Matlab代码深入理解模型构建细节,重点关注目标函数中碳交易成本项的设计、需求响应约束的数学表达以及求解过程中多能耦合关系的处理方式,可通过调整参数进行敏感性分析以加深对模型性能的理解。
项目资源包含:可运行源码+sql文件+LW; python3.8+django+mysql5.7+html 适用人群:学习不同技术领域的小白或进阶学习者;可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 系统前台都设计实现了手机、智能手表、平板、帖子、畅销榜等这些功能。 系统后台都实现了权限认证、商品管理、订单管理、支付信息管理、购物车管理、用户管理等这些管理。 本项目是一个以Django框架为基础开发的数码性能站系统,专为希望深入学习Python、Django及Web开发技术的学习者设计。该系统资源完整,不仅提供了能够直接运行的源码,还配备了必要的SQL文件和学习资料,适合从初学者到进阶学习者使用,同时也适合作为毕业设计、课程设计、大型作业和工程实训的素材,亦可作为企业初期项目开发的参考。 该系统以数码产品为主题,构建了一个具备丰富功能的在线平台。在前台设计上,系统支持不同设备如手机、智能手表、平板电脑等多种客户端的访问,提供了一个友好的用户界面。用户能够浏览各类数码产品,并查看产品的详细信息、畅销排行等,提供了类似帖子功能,用户可以围绕产品展开交流讨论。 系统后台管理功能完善,提供了权限认证机制,确保了操作的安全性。通过后台管理平台,管理员可以高效地进行商品管理、订单管理、支付信息管理、购物车管理、用户管理等一系列操作。这些功能的实现,不仅为学习者提供了实践操作的机会,也为将来从事电商平台开发的开发者奠定了基础。 技术栈方面,该项目要求学习者具备一定的Python知识,版本为Python3.8,同时熟悉Django框架,并需要使用到mysql5.7数据库。前端开发则利用了HTML技术。整体上,该系统提供了从数据库设计到前端展示,再到后端逻辑处理的完整开发体验,能够帮助学习者全方位提升Web开发技能。 在项目资料方面,除了源码和数据库文件外,还包括了详细的项目使用说明和重要说明文档,帮助学习者更好地理解和操作整个系统。此外,还提供了旧版程序,便于对比学习和掌握技术演进的脉络。整个项目的设计理念是通过实践来加深对Django框架和Web开发的理解。 该项目是一个内容丰富、功能全面、实践性强的Web开发学习平台,非常适合想要系统学习和掌握Django开发的学生或开发者使用。无论是作为教学案例,还是实际项目练习,它都能提供很好的支持。
内容概要:本文围绕基于两阶段鲁棒优化算法的微网多电源容量配置展开研究,提出了一种能够有效应对可再生能源出力与负荷需求不确定性的优化方法。该方法通过构建包含风能、光伏、储能及柴油机等多种分布式电源的微电网系统模型,采用两阶段鲁棒优化框架,在第一阶段确定各电源的最优容量配置,在第二阶段针对不确定性因素进行调度调整,从而保证系统在各种运行场景下的可靠性与经济性。文中给出了完整的Matlab代码实现,结合YALMIP工具箱调用求解器进行建模求解,便于读者复现与拓展。研究还考虑了实际工程中常见的运行约束与技术限制,提升了方案的实用性。; 适合人群:具备一定电力系统基础知识和Matlab编程能力,从事新能源、微电网、优化调度等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:① 掌握两阶段鲁棒优化在微电网规划中的建模思路与实现技巧;② 学习如何处理风光出力不确定性问题;③ 借助开源代码快速搭建类似优化模型,应用于科研仿真或项目开发。; 阅读建议:建议结合文档中的代码逐行理解建模逻辑,重点关注不确定集合的构建、鲁棒对等转换过程以及YALMIP的语法应用,同时可尝试替换不同的电源类型或引入新的约束条件以深化学习效果。

8,492

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧