Tag: group by

Linq GroupBy – 如何在运行时指定分组键?

是否有一种很好的方法可以在运行时确定分组键的Linq GroupBy ? 例如,我希望从用户选择的字段列表构建分组键 – 您可以这样做吗? 我知道如果我将所有内容转换为字符串表,我可以轻松地完成它,但我想知道是否有一种优雅或聪明的方法来实现这一点。 class Item { public int A, B; public DateTime D; public double X, Y, Z; } 我有一个名为List data 。 我想做一些事情,比如检索由A分组的X的总和,或者用A和B分组的X , Y和Z的总和。 但是进入分组的哪些字段应该能够以某种方式在运行时指定。

Linq按日期获得数据组的总和

我的数据看起来像: read_date | T1 | T2 | 15.02.2000 | 2 | 3 | 16.02.2000 | 4 | 5 | 15.03.2000 | 2 | 3 | 16.03.2000 | 5 | 4 | 我想获得T1和T2的总和,如下所示: read_date | T1 | T2 | 02.2000 | 6 | 8 | 03.2000 | 7 | 7 | 我试着写这样的东西: var result = from […]

Linq选择新对象

我有一个linq查询 var x = (from t in types select t).GroupBy(g =>g.Type) 它按类型对对象进行分组,因此我想要包含所有分组对象及其计数的单个新对象。 像这样的东西: type1, 30 type2, 43 type3, 72 更清楚:分组结果应该在一个对象中,而不是每个项目类型的对象

LINQ TO DataSet:数据表上的多个分组

我正在使用Linq数据集来查询数据表。 如果我想在数据表上的“Column1”上执行一个组,我使用以下查询 var groupQuery = from table in MyTable.AsEnumerable() group table by table[“Column1”] into groupedTable select new { x = groupedTable.Key, y = groupedTable.Count() } 现在我想在两列“Coulmn1”和“Column2”上执行group by。 任何人都可以告诉我语法或者在数据表中提供一个解释多个组的链接吗? 谢谢

linq distinct或由多个属性分组

如何使用c#和Linq从下一个列表中获取result : var pr = new List() { new Product() {Title=”Boots”,Color=”Red”, Price=1}, new Product() {Title=”Boots”,Color=”Green”, Price=1}, new Product() {Title=”Boots”,Color=”Black”, Price=2}, new Product() {Title=”Sword”,Color=”Gray”, Price=2}, new Product() {Title=”Sword”,Color=”Green”,Price=2} }; Result : {Title=”Boots”,Color=”Red”, Price=1}, {Title=”Boots”,Color=”Black”, Price=2}, {Title=”Sword”,Color=”Gray”, Price=2} 我知道我应该使用GroupBy或Distinct ,但要了解如何获得所需 List result = pr.GroupBy(g => g.Title, g.Price).ToList(); //not working List result = pr.Distinct(…); 请帮忙

LINQ to Entities group-by failure使用.date

我想在日期时间字段的日期部分做一个Linq组。 这个linq语句有效但按日期和时间分组。 var myQuery = from p in dbContext.Trends group p by p.UpdateDateTime into g select new { k = g.Key, ud = g.Max(p => p.Amount) }; 当我运行此语句仅按日期分组时,我得到以下错误 var myQuery = from p in dbContext.Trends group p by p.UpdateDateTime.Date into g //Added .Date on this line select new { k = g.Key, ud = g.Max(p […]

如何使用Linq对每N行进行分组

我无法找到一种方法来完成这项工作并希望有人有一个想法。 一个简化的例子是有一个整数列表1-100,我想分组每3行所以结果将是1,2,3在第一组然后4,5,6在下一组等我知道如何得到每个第n条记录,但我需要的是所有记录,所以我可以使用first,last,sum,max等聚合它们。 谢谢!

LINQ动态分组

我有一个类列表的记录,因此用户可以选择按属性名称动态分组行。 例如MenuText , RoleName或ActionName 。 然后我必须执行分组,所以我需要一个通用方法来通过传递列名来处理分组。 示例: public class Menu { public string MenuText {get;set;} public string RoleName {get;set;} public string ActionName {get;set;} } public class Menus { var list = new List(); list.Add( new Menu {MenuText=”abc”,RoleName =”Admin”, ActionName=”xyz”}; list.Add( new Menu {MenuText=”abc”,RoleName =”Admin”, ActionName=”xyz”}; list.Add( new Menu {MenuText=”abc1″,RoleName =”Admin1″, ActionName=”xyz1″}; list.Add( new Menu {MenuText=”abc1″,RoleName […]