Tag: sum

NHibernate GroupBy和Sum

我正在开始研究NHibernate,我有一个问题我无法解决,我想知道是否有人可以帮助我。 映射正在“正确”工作但是当我尝试进行分组和求和时,应用程序返回以下错误: “无法解析属性:Course.Price of:Persistence.POCO.RequestDetail” var criteria = session.CreateCriteria(typeof(RequestDetail)) .SetProjection( Projections.ProjectionList() .Add(Projections.RowCount(), “RowCount”) .Add(Projections.Sum(“Course.Price”), “Price”) .Add(Projections.GroupProperty(“Request”), “RequestId”) ) .AddOrder(Order.Asc(“RequestId”)) .SetResultTransformer(Transformers.AliasToEntityMap) .List(); 注1:当我接受代码.Add(Projections.Sum (“Course.Price”), “Price”) ,应用程序会正确地返回结果。 注2:我唯一能做的就是运行下面的代码: query.Length = 0; query.AppendLine(“select”); query.AppendLine(” s.Id,”); query.AppendLine(” s.Identification,”); query.AppendLine(” sum(c.Price) as Total”); query.AppendLine(“from”); query.AppendLine(” Student s”); query.AppendLine(“inner join”); query.AppendLine(” Request r on r.StudentId = s.Id”); query.AppendLine(“inner join “); query.AppendLine(” Requestdetail […]

Linq SUM对象?

我有一个代表商业数据的对象。 基本上,它是一个聚集一些总数的对象: public class MyClass{ public double MyDataOne {get;set;} public double MyDataTwo {get;set;} public double MyDataThree {get;set;} public static MyClass operator +(MyClass data1, MyClass data2){ return new MyClass{MyDataOne = data1.MyDataOne + data2.MyDataOne, MyDataTwo=data1.MyDataTwo+data2.MyDataTwo, MyDataThree=data1.MyDataThree+data2.MyDataThree }; } } 现在,如果我有一个IEnumerable myClasses ,是否有一些我可以在MyClass中实现这一点:? myClasses.Sum(d=>d); 因为对我来说,添加对象的方式必须是对象的知识,而不是调用者的知识(如果有一天我有一个数据更多,我不想查看我的整个代码来查看它的使用位置) 。 谢谢

来自LINQ的结果,包括用于TimeSpan,GROUP和JOIN的SUM

我遵循EF模型: 我想在以下视图中获取数据: 在数据实体中,Time是Timespan,以毫秒为单位。 结果, PlaceInStep由StepId放置在成员之间。 如何进行这个难题? 编辑1 : 我的一些代码: var query = from data in ctx.Data join member in ctx.Members on data.MemberId equals member.MemberId join team in ctx.Teams on member.TeamId equals team.TeamId group member by member.TeamId into g select new {TeamId = g.Key, TeamName = g.Select(t=>t.Teams.TeamName), TotalTime = ???};

如何加入DataTable

T1和T2是具有以下字段的DataTable T1(SPEC, DWGNO, ITEM NAME, DESCRIPTION, SIZE, AMOUNT) T2(SPEC, DWGNO, ITEM NAME, DESCRIPTION, SIZE, AMOUNT) 如果SPEC,DWGNO,ITEM NAME,ESCRIPTION,SIZE相等 AMOUNT = T1AMOUNT – T2AMOUNT; New Column 1st(T1 AMOUNT), 2nd(T2 AMOUNT) and T1 Amount add to 1st, T2 Amount add to 2nd 如果SPEC,DWGNO,ITEM NAME,ESCRIPTION,SZIE不同则将T1 Amount添加到第1列,将T2 Amount添加到第2列 我需要连接表 TJ (SPEC, DWGNO, ITEM NAME, DESCRIPTION, SIZE, 1st-2nd, 1st, 2nd) 如何在C#代码中以简单的方式完成此操作? […]

查找重复并将记录合并到单个数据表c#中

我能够从DataTable行中找到重复项。 如下: var groups = table.AsEnumerable() .GroupBy(r => new { c1 = r.Field(“Version”), }); var tblDuplicates = groups .Where(grp => grp.Count() > 1) .SelectMany(grp => grp) .CopyToDataTable(); 现在,我想将所有重复记录合并为单个,并将其与值列值相加。 非常像以下内容: 具有重复项的DataTable: Version Value 1 2 2 2 2 1 1 3 2 1 3 2 没有重复的DataTable和值总和: Version Value 1 5 2 4 3 2 我知道这个链接是在reflection的帮助下完成的。 http://forums.asp.net/t/1570562.aspx/1 […]

使用Linq到GroupBy和Sum数据表

嗨,我有一个像这样的数据表: Id金额1金额2金额3 1 2 2 2 12 4 6 4 12 6 6 5 22 7 2 1 22 7 2 2 我需要得到这样的数据表: Id金额1金额2金额3 1 2 2 2 12 10 12 9 22 14 4 3 我最初尝试在匿名方法中执行此操作但我需要将其返回到另一个无法使用匿名方法完成的类。 我的第二次尝试是这样做,所以可以返回: DataTable ddt = dt.AsEnumerable() .Sum(g => g.Field(“Amount 1”)) .GroupBy(g => new { Col1 = g[“ID”] }) .Select(g […]

二维数组的和列

我有一个IEnumerable<IEnumerable> ,它基本上可以被认为是一个二维的二维数组,我想要做的是得到一个1D数组(或列表或其他),这是我原来的所有列的总和采集。 换句话说,如果我有: 1 2 3 4 2 3 1 6 3 4 5 6 ————- 6 9 9 16 我想要最后一行(显然不是原始集合的一部分)。 是否有一种简单的方法可以使用LINQ来实现这一点,这样我就不必遍历整个事情了? 我知道我可以使用.Sum来计算一行或一列,但我想总计每一行。 我已经看到了一些其他问题(主要是处理数据库查询),这些问题建议使用group但这似乎对我不起作用。 我试过这个: var totals = from p in toTotal group p by 1 into g select g.Sum(t => t.First()); 但这只是总结一切。 有一个聪明的方法来做到这一点? 编辑:例如,如果toTotal定义为: List<List> toTotal = new List<List>() { new List {1, 2, […]

如何在数据表中获取“件”列的总和?

如何在数据表中获取“件”列的总和? 说我有下表。 如何计算article =“milk”和artno =“15”的“总”数? Columns: article artno pieces Rows: 1 milk 15 1 2 water 12 1 3 apple 13 2 4 milk 15 1 5 milk 16 1 6 bread 11 2 7 milk 16 4 我的新DataTable的结果应该是这样的: Columns: article artno pieces Rows: 1 bread 11 2 2 water 12 1 3 apple 13 […]

LINQ中的聚合与总和性能

下面给出了三种不同的实现,即查找IEnumerable 源的总和,以及源具有10,000个整数所花费的时间。 source.Aggregate(0, (result, element) => result + element); 需要3毫秒 source.Sum(c => c); 需要12毫秒 source.Sum(); 需要1毫秒 我想知道为什么第二次实施比第一次实施贵四倍。 不应该与第三个实现相同。

使用SUM和ORDER BY进行Linq查询

我有一个名为Hit的(C#)类,带有ItemID(int)和Score(int)属性。 我跳过其余的细节来保持简短。 现在在我的代码中,我有一个巨大的List,我需要做以下select(进入一个新的List):我需要获得每个Hit.ItemID的所有Hit.Score的总和,按Score排序。 所以,如果我在原始列表中有以下项目 ItemID=3, Score=5 ItemID=1, Score=5 ItemID=2, Score=5 ItemID=3, Score=1 ItemID=1, Score=8 ItemID=2, Score=10 结果列表应包含以下内容: ItemID=2, Score=15 ItemID=1, Score=13 ItemID=3, Score=6 有人可以帮忙吗?