LINQ 分组问题

问题描述

A表AIDName1张三2李四B表BIDMoneyAID121231342查询的结果AIDNameSumMoneyCount1张三522李四41就是以AID分组,查询钱的总数,跟合计的数量

解决方案

解决方案二:
--测试数据准备:CREATETABLE_A(AIDint,Namenvarchar(50))CREATETABLE_B(BIDint,Moneyint,AIDint)insertinto_ASELECT1,'zhangsan'unionSELECT2,'lisi'insertinto_Bselect1,2,1unionselect2,3,1unionselect3,4,2

//LINQ语句:voidMain(){varquery=fromainthis._Asjoinbinthis._Bsona.AIDequalsb.AIDintogselectnew{AID=a.AID,Name=a.Name,SumMoney=g.Sum(t=>t.Money),Count=g.Count()};Console.WriteLine("AIDtNametSumMoneytCount");query.ToList().ForEach(q=>Console.WriteLine("{0}t{1}tt{2}t{3}",q.AID,q.Name,q.SumMoney,q.Count));}/*AIDNameSumMoneyCount1zhangsan522lisi41*/

时间: 2024-07-31 13:44:16

LINQ 分组问题的相关文章

Linq 分组(group by)求和(sum)并且按照分隔符(join)分割列数据

转载:http://www.cnblogs.com/zq281660880/archive/2012/09/26/2704836.html 今天在使用linq处理一下需求时碰到一点小问题,特此记录. 需求:     按照品名相同的进行汇总,数量相加.表号按分号分割显示   1.组织测试数据表 DataTable tableA1 = new DataTable(); tableA1.Columns.AddRange(new DataColumn[] { new DataColumn("品名&quo

LINQ的分组聚合技术

很大程度上来讲,LINQ的工作方式很像SQL.查询源定义.join.select和where子句都是相当标准的,而Group/By/Into子句则正是我们这里要仔细说明的.SQL总是返回矩阵式数据集,与它不同的是,LINQ具备了返回层次化数据的能力,这也给它自己带来了更多新的挑战. 举一个例子,将客户按照所属country和city进行分组查询,在SQL中,可能会通过在客户端手动分组或者执行1+N+(N*M)次查询来实现,一个查询用来获取所有的国家,一个查询用来获取每个国家的所有城市,然后再逐个

怎么用linq按照id分组查到name有相同时,c#语法返回false

问题描述 怎么用linq按照id分组查到name有相同时,c#语法返回false 只写出这样了 var sameSJ = from r in iw group r by new { Id= r.Field("ads_id") } into g select new { g.Key.Id, Count = g.Count() }; 解决方案 var sameSJ = from r in iw group r by r.Field("ads_id") into g se

关于linq查询分组的数据转换

问题描述 varquery=fromtinMXTabel.AsEnumerable()grouptbynew{t1=t.Field<string>("MTID"),t2=t.Field<string>("CustomerTID"),t3=t.Field<string>("PiCi"),t4=t.Field<string>("ClothNo"),t5=t.Field<stri

求指点:linq怎么对datatable的多个字段进行分组啊?

问题描述 比如:有个datatable有四个字段:xian,xiang,cun,mianji想通过xianxiang分类统计面积linq语句怎么写啊? 解决方案 解决方案二:grouprbynew{xian=r.Fields<string>("xian"),xiang=r.Fields<string>("xiang")} 类似这样,单词不知道打错了没有解决方案三:varquery=fromtindt.AsEnumerable()grouptb

使用LINQ进行数据转换

使用 LINQ 进行数据转换 语言集成查询 (LINQ) 不仅可用于检索数据,而是还是一个功能强大的数据转换工具.通过使用 LINQ 查询,您可以将源序列用作输入,并采用多种方式修改它以创建新输出序列.您可以通过排序和分组来修改序列本身,而不必修改元素本身.但是,LINQ 查询最强大的功能可能在于它能够创建新类型.这一功能在 select 子句中实现.例如,可以执行下列任务: 将多个输入序列合并到具有新类型的单个输出序列中. 创建其元素只包含源序列中的各个元素的一个或几个属性的输出序列. 创建其

LINQ体验(7)-LINQ to SQL语句之Group By/Having和Exists/In/Any/All/Contains

我们继续讲解LINQ to SQL语句,这篇我们来讨论Group By/Having操作符和 Exists/In/Any/All/Contains操作符. Group By/Having操作符 适用 场景:分组数据,为我们查找数据缩小范围. 说明:分配并返回对传入 参数进行分组操作后的可枚举对象.分组:延迟 1.简单形式: var q = from p in db.Products group p by p.CategoryID into g select g; 语句描述:使用Group By

Linq学习(6) Group &amp;amp; Join

本篇介绍Linq的Group和Join操作,继续使用<Linq 学习(3) 语法结构>中介绍的数据源. Group Group是进行分组操作,同SQL中的Group By类似. 原型如下: public static IEnumerable<IGrouping<TKey, TSource>> GroupBy<TSource, TKey>( this IEnumerable<TSource> source, Func<TSource, TKe

LINQ查询操作全面分析

学习LINQ查询时,经常会遇到LINQ查询操作问题,这里将介绍LINQ查询操作问题的解决方法. 语言集成查询 (LINQ) 是 Visual Studio 2008 和 .NET Framework 3.5 版中一项突破性的创新,它在对象领域和数据领域之间架起了一座桥梁. 传统上,针对数据的查询都是以简单的字符串表示,而没有编译时类型检查或 IntelliSense 支持.此外,您还必须针对以下各种数据源学习不同的查询语言:SQL 数据库.XML 文档.各种 Web 服务等.LINQ 使查询成为