带计数的嵌套排序组
本文关键字:排序 嵌套 | 更新日期: 2024-10-19 14:55:17
我正试图弄清楚如何获取一个列表,并获得一个分组列表,每个列表都包含总金额的分组。我完成了第一个goup,并四处查看了使用LINQ进行嵌套组的情况,但不确定如何使用我需要的信息。Bellow是一个样本列表和我目前拥有的编码。
样品清单
var list = new[] {
new { Product = "Product1", Category = "Category1", Issue = "Issue1" },
new { Product = "Product1", Category = "Category1", Issue = "Issue2" },
new { Product = "Product2", Category = "Category2", Issue = "Issue1" },
new { Product = "Product3", Category = "Category1", Issue = "Issue2" },
new { Product = "Product2", Category = "Category2", Issue = "Issue1" },
new { Product = "Product1", Category = "Category1", Issue = "Issue" },
}.ToList()
样本代码
var topIssues = from issue in storage.Issues
group issue by new {issue.Category, issue.Issue} into issueGroup
let count = issueGroup.Count()
orderby count descending
select new { Issue = issueGroup.Key, Count = count};
我正在做一个由Category和Issue定义的组,然后我需要每个组中的项目数,以及按降序排列的列表。但是,我希望在这些产品中有一个包含的组。该组还包含每个产品的项目计数,也按降序排列。如有任何帮助,我们将不胜感激。
var topIssues = (from issue in list
group issue by new {issue.Category, issue.Issue}
into issueGroup
select new
{
Issue = issueGroup.Key,
Count = issueGroup.Count(),
GP = (from i in issueGroup group i by i.Product into gp select new
{
Product = gp.Key, Count = gp.Count()
}).OrderByDescending(g=>g.Count)
}).OrderByDescending(d=>d.Count);