gpt4 book ai didi

linq - 是否可以使用 LINQ 透视数据?

转载 作者:行者123 更新时间:2023-12-03 04:17:33 24 4
gpt4 key购买 nike

我想知道是否可以使用 LINQ 从以下布局中转换数据:

CustID | OrderDate | Qty
1 | 1/1/2008 | 100
2 | 1/2/2008 | 200
1 | 2/2/2008 | 350
2 | 2/28/2008 | 221
1 | 3/12/2008 | 250
2 | 3/15/2008 | 2150

变成这样的东西:

CustID  | Jan- 2008 | Feb- 2008 | Mar - 2008 |
1 | 100 | 350 | 250
2 | 200 | 221 | 2150

最佳答案

类似这样的吗?

List<CustData> myList = GetCustData();

var query = myList
.GroupBy(c => c.CustId)
.Select(g => new {
CustId = g.Key,
Jan = g.Where(c => c.OrderDate.Month == 1).Sum(c => c.Qty),
Feb = g.Where(c => c.OrderDate.Month == 2).Sum(c => c.Qty),
March = g.Where(c => c.OrderDate.Month == 3).Sum(c => c.Qty)
});
Linq 中的

GroupBy 的工作方式与 SQL 不同。在 SQL 中,您可以获得键和聚合(行/列形状)。在 Linq 中,您将获得键以及作为键子级的任何元素(分层形状)。要进行透视,您必须将层次结构投影回您选择的行/列形式。

关于linq - 是否可以使用 LINQ 透视数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/167304/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com