Tag: group by

使用linq组按日期查询填写缺少的日期

我有一个Linq查询,它基本上计算在特定日期创建的条目数,这是通过按年,月,日进行分组来完成的 。 问题是因为有些日子没有任何条目我需要用0计数的条目来填补缺少的“日历日”。 我的猜测是,这可能是通过联盟或其他东西完成的,或者甚至可能是一些简单的for循环来处理查询后的记录。 这是查询: from l in context.LoginToken where l.CreatedOn >= start && l.CreatedOn <= finish group l by new{l.CreatedOn.Year, l.CreatedOn.Month, l.CreatedOn.Day} into groups orderby groups.Key.Year , groups.Key.Month , groups.Key.Day select new StatsDateWithCount { Count = groups.Count(), Year = groups.Key.Year, Month = groups.Key.Month, Day = groups.Key.Day })); 如果我有12/1 – 12/4/2009的数据(简化): 12/1/2009 20 12/2/2009 15 […]

c#使用linq按数据表中的多个列进行分组

我在数据表中有三列:字符串,日期时间和小数。 我想按字符串和十进制列分组,对于分组的行,我想要对小数值求和。 我知道如何进行求和部分,但是如何在数据表中对两个不同的列进行分组? 到目前为止,这是我的代码无法正常工作: var newSort = from row in objectTable.AsEnumerable() group row by new {ID = row.Field(“resource_name”), time1 = row.Field(“day_date”)} into grp orderby grp.Key select new { resource_name1 = grp.Key.ID, day_date1 = grp.Key.time1, Sum = grp.Sum(r => r.Field(“actual_hrs”)) };

c#中类似类型的分组列表

.GroupBy(x => x) .GroupBy用于对类似类型的字符串,int等进行分组。 那么我可以使用什么函数对类似的List 进行分组。

使用linq对嵌套列表进行分组

我有一个嵌套的对象列表。 我需要通过identifierA和Sum对其数字属性进行分组,嵌套列表应分别分组: public class TypeA { public String identifierA{ get; set; } public Int32 number { get; set; } public List nestedList { get; set; } } public class TypeB { public String identifierB { get; set; } public Int32 otherNumber { get; set; } } 所以我期待这样的事情: var List groupedList = (from a in TypeAList […]

.NET LINQ to实体按日期(日)分组

我在这里发布了同样的问题: LINQ to Entities group-by failure using .date 但是,答案并非100%正确。 它适用于所有情况,除非使用不同的时区。 当使用不同的时区时,它也会在时区上进行分组。 为什么? 我设法通过使用许多实体函数来绕过这个。 int localOffset= Convert.ToInt32( TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now).TotalMinutes); var results = ( from perfEntry in db.entry where (….) select new { perfEntry.Operation, perfEntry.Duration, localTime = EntityFunctions.AddMinutes(perfEntry.Start, localOffset – EntityFunctions.GetTotalOffsetMinutes( perfEntry.Start)) } ).GroupBy(x => new { Time = EntityFunctions.TruncateTime( EntityFunctions.CreateDateTime(x.localTime.Value.Year, x.localTime.Value.Month, x.localTime.Value.Day, 0, 0, 0)), x.Operation } […]

使用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 […]

将简单的SQL分组转换为LINQ to SQL

我遇到了麻烦。 我无法理解Stack Overflow上现有的答案,对LINQ to SQL来说太新了,无法自己解决问题。 看到这个SQL: select p.Name as ProductName, SUM(o.NumberOf) as TotalOrdered from [Order] o join [Product] p on o.ProductId = p.Id group by p.Name 返回一个漂亮的2列表,其左侧是产品名称,右侧列是已订购产品的总数(所有订单)。 如何在LINQ to SQL中复制它? 这是我到目前为止所得到的: var ctx = new DataClasses1DataContext(); var totalProducts = (from o in ctx.Orders join p in ctx.Products on o.ProductId equals p.Id select new { p.Name, […]

LINQ to SQL:GroupBy()和Max()获取具有最新日期的对象

考虑一个用于存储审核事件的SQL Server表。 需要只获得每个CustID的最新条目 。 我们想要获得整个对象/行。 我假设在查询中需要GroupBy()。 这是迄今为止的查询: var custsLastAccess = db.CustAccesses .Where(c.AccessReason.Length>0) .GroupBy(c => c.CustID) // .Select() .ToList(); // (?) where to put the c.Max(cu=>cu.AccessDate) 问题:如何创建查询以为每个CustID选择最新(最大AccessDate )记录/对象?

使用LINQ对对象列表进行分组

我有一个对象: public class Customer { public int ID { get; set; } public string Name { get; set; } public int GroupID { get; set; } } 我返回一个可能如下所示的列表: List CustomerList = new List(); CustomerList.Add( new Customer { ID = 1, Name = “One”, GroupID = 1 } ); CustomerList.Add( new Customer { ID = 2, […]

LINQ的嵌套组

我无法使用LINQ查询解决此问题。 所以我们有如下表结构:Id || bug_category || bug_name || bug_details || bug_priority 我想先通过bug_category进行分组。 对于每个bug_category,我想反过来按bug_priority分组。 基本上我想要的东西是这样的: bug_category = AUDIO ::没有BUGS – > Critical = 3,Medium = 2和Low = 7个bug。 bug_category = VIDEO ::没有BUGS – > Critical = 5,Medium = 1和Low = 9个bug。 以下查询返回类别AND customer_priority的所有唯一组合: (其中RawDataList只是具有上述结构的数据列表) var ProceesedData = from d in RawDataList group d by new { d.bug_category, […]