如何对具有多列的表中的数据进行分组[重复]
Posted
技术标签:
【中文标题】如何对具有多列的表中的数据进行分组[重复]【英文标题】:How to group data from table with multiple columns [duplicate] 【发布时间】:2014-11-28 14:34:18 【问题描述】:我正在尝试以这种方式使用多列对我的数据进行分组:
var groupedCustomers = listToProcess.GroupBy(cn => cn.CUST_NAME).Select(g => g.ToList()).ToList();
像这样分组,我对我得到的结果很满意,因为我可以遍历所有对象并获取它们的所有属性。但是,由于我应该使用两个字段(cust_name 和 cust_address)对表数据进行分组,所以这就是我想要做的:
var groupedCustomers = listToProcess.GroupBy(cn => cn.CUST_NAME, ca => ca.CUST_ADDRESS).Select(g => g.ToList()).ToList();
这样的处理也可以工作但是对于每个对象,我只得到地址属性。
还有其他方法吗?
【问题讨论】:
【参考方案1】:您可以使用匿名类型作为composite key:
var groupedCustomers = listToProcess
.GroupBy(cn => new cn.CUST_NAME, cn.CUST_ADDRESS )
.Select(g => g.ToList()).ToList();
【讨论】:
【参考方案2】:试试
var groupedCustomers = listToProcess
.GroupBy(cn => new CUST_NAME = cn.CUST_NAME, CUST_ADDRESS = cn.CUST_ADDRESS )
.Select(g => g.ToList()).ToList();
【讨论】:
以上是关于如何对具有多列的表中的数据进行分组[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 Eloquent 中具有多对多关系的外部表中的列聚合进行分组?